diff options
author | Timothy Pearson <tpearson@raptorengineeringinc.com> | 2015-06-25 15:28:23 -0500 |
---|---|---|
committer | Jonathan A. Kollasch <jakllsch@kollasch.net> | 2015-11-14 23:38:10 +0100 |
commit | 0e545c66a3d1b0a18e9cd0a1bdc34d89e82e0667 (patch) | |
tree | 8fb168364f2066795b6b25c1fb395f944ef82408 /src/northbridge/amd/amdfam10 | |
parent | 92bcaa2226ff8fe16f2144358b3ba310da555a2c (diff) |
northbridge/amd/amdfam10: Properly indicate node and channel in SMBIOS tables
Change-Id: Ie7278745358daf0c78cdb9c579db5291a1a2a0cb
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Reviewed-on: http://review.coreboot.org/12004
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/northbridge/amd/amdfam10')
-rw-r--r-- | src/northbridge/amd/amdfam10/northbridge.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/northbridge/amd/amdfam10/northbridge.c b/src/northbridge/amd/amdfam10/northbridge.c index 0c1971bbc4..a922496b10 100644 --- a/src/northbridge/amd/amdfam10/northbridge.c +++ b/src/northbridge/amd/amdfam10/northbridge.c @@ -1203,7 +1203,12 @@ static int amdfam10_get_smbios_data17(int* count, int handle, int parent_handle, t->attributes = 0; t->attributes |= ranks & 0xf; /* rank number is stored in the lowest 4 bits of the attributes field */ t->form_factor = MEMORY_FORMFACTOR_DIMM; - snprintf(string_buffer, sizeof (string_buffer), "NODE %d DIMM_%s%d", node, (slot & 0x1)?"B":"A", (slot >> 1) + 1); + if (mem_info->dct_stat[node].Dual_Node_Package) { + snprintf(string_buffer, sizeof (string_buffer), "NODE %d DIMM_%s%d", node >> 1, + (mem_info->dct_stat[node].Internal_Node_ID)?((slot & 0x1)?"D":"C"):((slot & 0x1)?"B":"A"), (slot >> 1) + 1); + } else { + snprintf(string_buffer, sizeof (string_buffer), "NODE %d DIMM_%s%d", node, (slot & 0x1)?"B":"A", (slot >> 1) + 1); + } t->device_locator = smbios_add_string(t->eos, string_buffer); if (IS_ENABLED(CONFIG_DIMM_DDR2)) t->memory_type = MEMORY_TYPE_DDR2; |