Angel Pons submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Michael Niewöhner: Looks good to me, approved
nb/intel/i945: Refactor `dump_spd_registers` function

Use the mainboard-provided SPD map and skip unused addresses.

Change-Id: I2b5b71cff290343c1000d5613209049fa9724e3d
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51899
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
---
M src/northbridge/intel/i945/debug.c
M src/northbridge/intel/i945/i945.h
M src/northbridge/intel/i945/romstage.c
3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/northbridge/intel/i945/debug.c b/src/northbridge/intel/i945/debug.c
index db987ca..6073f59 100644
--- a/src/northbridge/intel/i945/debug.c
+++ b/src/northbridge/intel/i945/debug.c
@@ -57,11 +57,13 @@
}
}

-void dump_spd_registers(void)
+void dump_spd_registers(u8 spd_map[4])
{
- unsigned int device;
- device = DIMM0;
- while (device <= DIMM3) {
+ for (unsigned int d = 0; d < 4; d++) {
+ const unsigned int device = spd_map[d];
+ if (device == 0)
+ continue;
+
int status = 0;
int i;
printk(BIOS_DEBUG, "\ndimm %02x", device);
@@ -76,7 +78,6 @@
}
printk(BIOS_DEBUG, "%02x ", status);
}
- device++;
printk(BIOS_DEBUG, "\n");
}
}
diff --git a/src/northbridge/intel/i945/i945.h b/src/northbridge/intel/i945/i945.h
index fe06afc..d8993ac 100644
--- a/src/northbridge/intel/i945/i945.h
+++ b/src/northbridge/intel/i945/i945.h
@@ -337,7 +337,7 @@
void print_pci_devices(void);
void dump_pci_device(unsigned int dev);
void dump_pci_devices(void);
-void dump_spd_registers(void);
+void dump_spd_registers(u8 spd_map[4]);
void sdram_dump_mchbar_registers(void);

u32 decode_igd_memory_size(u32 gms);
diff --git a/src/northbridge/intel/i945/romstage.c b/src/northbridge/intel/i945/romstage.c
index 248fe14..22eae4e 100644
--- a/src/northbridge/intel/i945/romstage.c
+++ b/src/northbridge/intel/i945/romstage.c
@@ -48,11 +48,11 @@

mainboard_pre_raminit_config(s3resume);

- if (CONFIG(DEBUG_RAM_SETUP))
- dump_spd_registers();
-
mainboard_get_spd_map(spd_map);

+ if (CONFIG(DEBUG_RAM_SETUP))
+ dump_spd_registers(spd_map);
+
sdram_initialize(s3resume ? BOOT_PATH_RESUME : BOOT_PATH_NORMAL, spd_map);

/* This should probably go away. Until now it is required

To view, visit change 51899. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I2b5b71cff290343c1000d5613209049fa9724e3d
Gerrit-Change-Number: 51899
Gerrit-PatchSet: 5
Gerrit-Owner: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-Reviewer: Michael Niewöhner <foss@mniewoehner.de>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: Stefan Reinauer <stefan.reinauer@coreboot.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged