soc/amd/common/fsp/dmi.c: Add dmi_type16 ECC to memory struct

The DMI error correction type was not being filled in, so was reporting
as "Error Correction Type: <OUT OF SPEC>".  This patch fixes that.

Since it's now filling in information for both Type 16 & 17, rename
the function to reflect that.

BUG=None
TEST=dmidecode now reports the type correctly.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I6b51612d808c63de1acd2be952cb6c152f8a1be5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73253
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
This commit is contained in:
Martin Roth 2023-02-23 15:54:55 -07:00 committed by Felix Held
parent 15373758df
commit 3a5d1953b0
1 changed files with 4 additions and 2 deletions

View File

@ -172,7 +172,7 @@ static void print_dmi_info(const TYPE17_DMI_INFO *dmi17)
/**
* Marshalls dimm info from AMD_FSP_DMI_HOB into CBMEM_ID_MEMINFO
*/
static void prepare_dmi_17(void *unused)
static void prepare_dmi_16_17(void *unused)
{
const DMI_INFO *dmi_table;
const TYPE17_DMI_INFO *type17_dmi_info;
@ -240,7 +240,9 @@ static void prepare_dmi_17(void *unused)
}
}
mem_info->dimm_cnt = dimm_cnt;
mem_info->ecc_type = dmi_table->T16.MemoryErrorCorrection;
}
/* AMD_FSP_DMI_HOB is initialized very late, so check it just in time for writing tables. */
BOOT_STATE_INIT_ENTRY(BS_WRITE_TABLES, BS_ON_ENTRY, prepare_dmi_17, NULL);
BOOT_STATE_INIT_ENTRY(BS_WRITE_TABLES, BS_ON_ENTRY, prepare_dmi_16_17, NULL);