From 5a04746714ddf1fdf4c0e1c9ed8cea4aa7fea511 Mon Sep 17 00:00:00 2001 From: Elyes Haouas Date: Wed, 28 Dec 2022 11:43:49 +0100 Subject: [PATCH] spd.h: Move enum ddr2_module_type to ddr2.h Move specific enum ddr2_module_type to . Change-Id: I748658f9b349bff9b1ebe2c0a6acf71bf2a221ce Signed-off-by: Elyes Haouas Reviewed-on: https://review.coreboot.org/c/coreboot/+/71546 Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/device/dram/spd.c | 21 +++++++++++---------- src/include/device/dram/ddr2.h | 13 +++++-------- src/include/spd.h | 12 ------------ tests/lib/dimm_info_util-test.c | 11 +++++++---- 4 files changed, 23 insertions(+), 34 deletions(-) diff --git a/src/device/dram/spd.c b/src/device/dram/spd.c index deff6744ad..738c05b113 100644 --- a/src/device/dram/spd.c +++ b/src/device/dram/spd.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include #include #include #include @@ -47,25 +48,25 @@ static void convert_default_module_type_to_spd_info(struct spd_info *info) info->type_detail = MEMORY_TYPE_DETAIL_UNKNOWN; } -static void convert_ddr2_module_type_to_spd_info(enum ddr2_module_type module_type, +static void convert_ddr2_module_type_to_spd_info(enum spd_dimm_type_ddr2 module_type, struct spd_info *info) { switch (module_type) { - case DDR2_SPD_RDIMM: - case DDR2_SPD_MINI_RDIMM: + case SPD_DDR2_DIMM_TYPE_RDIMM: + case SPD_DDR2_DIMM_TYPE_MINI_RDIMM: info->form_factor = MEMORY_FORMFACTOR_RIMM; info->type_detail = MEMORY_TYPE_DETAIL_REGISTERED; break; - case DDR2_SPD_UDIMM: - case DDR2_SPD_MINI_UDIMM: + case SPD_DDR2_DIMM_TYPE_UDIMM: + case SPD_DDR2_DIMM_TYPE_MINI_UDIMM: info->form_factor = MEMORY_FORMFACTOR_DIMM; info->type_detail = MEMORY_TYPE_DETAIL_UNBUFFERED; break; - case DDR2_SPD_MICRO_DIMM: + case SPD_DDR2_DIMM_TYPE_MICRO_DIMM: info->form_factor = MEMORY_FORMFACTOR_DIMM; info->type_detail = MEMORY_TYPE_DETAIL_UNKNOWN; break; - case DDR2_SPD_SODIMM: + case SPD_DDR2_DIMM_TYPE_SO_DIMM: info->form_factor = MEMORY_FORMFACTOR_SODIMM; info->type_detail = MEMORY_TYPE_DETAIL_UNKNOWN; break; @@ -210,11 +211,11 @@ static uint8_t convert_ddrx_form_factor_to_module_type(smbios_memory_type memory switch (form_factor) { case MEMORY_FORMFACTOR_DIMM: - return DDR2_SPD_UDIMM; + return SPD_DDR2_DIMM_TYPE_UDIMM; case MEMORY_FORMFACTOR_RIMM: - return DDR2_SPD_RDIMM; + return SPD_DDR2_DIMM_TYPE_RDIMM; case MEMORY_FORMFACTOR_SODIMM: - module_type = (memory_type == MEMORY_TYPE_DDR2) ? DDR2_SPD_SODIMM : + module_type = (memory_type == MEMORY_TYPE_DDR2) ? SPD_DDR2_DIMM_TYPE_SO_DIMM : DDR3_SPD_SODIMM; return module_type; default: diff --git a/src/include/device/dram/ddr2.h b/src/include/device/dram/ddr2.h index 6200fdedd6..9277ffbc02 100644 --- a/src/include/device/dram/ddr2.h +++ b/src/include/device/dram/ddr2.h @@ -18,15 +18,12 @@ #include #include -/* - * Module type (byte 20, bits 5:0) of SPD - * This definition is specific to DDR2. DDR3 SPDs have a different structure. - */ +/* Byte 20 [5:0]: DDR2 Module type information */ enum spd_dimm_type_ddr2 { - SPD_DDR2_DIMM_TYPE_UNDEFINED = 0x00, - SPD_DDR2_DIMM_TYPE_RDIMM = 0x01, - SPD_DDR2_DIMM_TYPE_UDIMM = 0x02, - SPD_DDR2_DIMM_TYPE_SO_DIMM = 0x04, + SPD_DDR2_DIMM_TYPE_UNDEFINED = 0x00, + SPD_DDR2_DIMM_TYPE_RDIMM = 0x01, + SPD_DDR2_DIMM_TYPE_UDIMM = 0x02, + SPD_DDR2_DIMM_TYPE_SO_DIMM = 0x04, SPD_DDR2_DIMM_TYPE_72B_SO_CDIMM = 0x06, SPD_DDR2_DIMM_TYPE_72B_SO_RDIMM = 0x07, SPD_DDR2_DIMM_TYPE_MICRO_DIMM = 0x08, diff --git a/src/include/spd.h b/src/include/spd.h index 7a6e5ab7e0..25d04639fc 100644 --- a/src/include/spd.h +++ b/src/include/spd.h @@ -201,18 +201,6 @@ enum spd_memory_type { #define SPD_ECC_8BIT (1<<3) #define SPD_ECC_8BIT_LP5_DDR5 (1<<4) -/* Byte 20 [5:0]: DDR2 Module type information */ -enum ddr2_module_type { - DDR2_SPD_RDIMM = 0x01, - DDR2_SPD_UDIMM = 0x02, - DDR2_SPD_SODIMM = 0x04, - DDR2_SPD_72B_SO_CDIMM = 0x06, - DDR2_SPD_72B_SO_RDIMM = 0x07, - DDR2_SPD_MICRO_DIMM = 0x08, - DDR2_SPD_MINI_RDIMM = 0x10, - DDR2_SPD_MINI_UDIMM = 0x20, -}; - /* Byte 3 [3:0]: DDR3 Module type information */ enum ddr3_module_type { DDR3_SPD_RDIMM = 0x01, diff --git a/tests/lib/dimm_info_util-test.c b/tests/lib/dimm_info_util-test.c index cecbacbb85..e16f44135a 100644 --- a/tests/lib/dimm_info_util-test.c +++ b/tests/lib/dimm_info_util-test.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include #include #include #include @@ -136,10 +137,12 @@ static void test_smbios_form_factor_to_spd_mod_type(void **state) } ddrx_info[] = { { .memory_type = MEMORY_TYPE_DDR2, - .udimm_allowed = {DDR2_SPD_UDIMM, DDR2_SPD_MICRO_DIMM, - DDR2_SPD_MINI_UDIMM}, - .rdimm_allowed = {DDR2_SPD_RDIMM, DDR2_SPD_MINI_RDIMM}, - .expected_module_type = DDR2_SPD_SODIMM, + .udimm_allowed = {SPD_DDR2_DIMM_TYPE_UDIMM, + SPD_DDR2_DIMM_TYPE_MICRO_DIMM, + SPD_DDR2_DIMM_TYPE_MINI_UDIMM}, + .rdimm_allowed = {SPD_DDR2_DIMM_TYPE_RDIMM, + SPD_DDR2_DIMM_TYPE_MINI_RDIMM}, + .expected_module_type = SPD_DDR2_DIMM_TYPE_SO_DIMM, }, { .memory_type = MEMORY_TYPE_DDR3,