soc/intel: Add mem_rank info in SMBIOS
"mosys memory spd print all" returns incorrect memory ranks info. This patch and 2 upcomming ones (one in FSP) will address the issue. BUG=b:122329046 TEST=Boot to OS on Bobba variant of Octopus BRANCH=octopus Change-Id: I212215040e4786c258a9c604cc5c2bb62867c842 Signed-off-by: Francois Toguo <francois.toguo.fotso@intel.com> Reviewed-on: https://review.coreboot.org/c/31235 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
parent
6275e34523
commit
993f68ab5a
|
@ -85,6 +85,7 @@ void save_lpddr4_dimm_info_part_num(const char *dram_part_num)
|
||||||
src_dimm->SizeInMb,
|
src_dimm->SizeInMb,
|
||||||
memory_info_hob->MemoryType,
|
memory_info_hob->MemoryType,
|
||||||
memory_info_hob->MemoryFrequencyInMHz,
|
memory_info_hob->MemoryFrequencyInMHz,
|
||||||
|
0,
|
||||||
channel_info->ChannelId,
|
channel_info->ChannelId,
|
||||||
src_dimm->DimmId,
|
src_dimm->DimmId,
|
||||||
dram_part_num,
|
dram_part_num,
|
||||||
|
|
|
@ -91,6 +91,7 @@ void save_lpddr4_dimm_info_part_num(const char *dram_part_num)
|
||||||
src_dimm->DimmCapacity,
|
src_dimm->DimmCapacity,
|
||||||
memory_info_hob->MemoryType,
|
memory_info_hob->MemoryType,
|
||||||
memory_info_hob->ConfiguredMemoryClockSpeed,
|
memory_info_hob->ConfiguredMemoryClockSpeed,
|
||||||
|
src_dimm->RankInDimm,
|
||||||
channel_info->ChannelId,
|
channel_info->ChannelId,
|
||||||
src_dimm->DimmId,
|
src_dimm->DimmId,
|
||||||
dram_part_num,
|
dram_part_num,
|
||||||
|
|
|
@ -92,6 +92,7 @@ static void save_dimm_info(void)
|
||||||
src_dimm->DimmCapacity,
|
src_dimm->DimmCapacity,
|
||||||
memory_info_hob->MemoryType,
|
memory_info_hob->MemoryType,
|
||||||
memory_info_hob->ConfiguredMemoryClockSpeed,
|
memory_info_hob->ConfiguredMemoryClockSpeed,
|
||||||
|
src_dimm->RankInDimm,
|
||||||
channel_info->ChannelId,
|
channel_info->ChannelId,
|
||||||
src_dimm->DimmId,
|
src_dimm->DimmId,
|
||||||
(const char *)src_dimm->ModulePartNum,
|
(const char *)src_dimm->ModulePartNum,
|
||||||
|
|
|
@ -20,13 +20,14 @@
|
||||||
|
|
||||||
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
||||||
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
||||||
u32 frequency, u8 channel_id, u8 dimm_id,
|
u32 frequency, u8 rank_per_dimm, u8 channel_id, u8 dimm_id,
|
||||||
const char *module_part_num, size_t module_part_number_size,
|
const char *module_part_num, size_t module_part_number_size,
|
||||||
u16 data_width)
|
u16 data_width)
|
||||||
{
|
{
|
||||||
dimm->dimm_size = dimm_capacity;
|
dimm->dimm_size = dimm_capacity;
|
||||||
dimm->ddr_type = ddr_type;
|
dimm->ddr_type = ddr_type;
|
||||||
dimm->ddr_frequency = frequency;
|
dimm->ddr_frequency = frequency;
|
||||||
|
dimm->rank_per_dimm = rank_per_dimm;
|
||||||
dimm->channel_num = channel_id;
|
dimm->channel_num = channel_id;
|
||||||
dimm->dimm_num = dimm_id;
|
dimm->dimm_num = dimm_id;
|
||||||
strncpy((char *)dimm->module_part_number,
|
strncpy((char *)dimm->module_part_number,
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
/* Fill the SMBIOS memory information from FSP MEM_INFO_DATA_HOB in CBMEM.*/
|
||||||
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
void dimm_info_fill(struct dimm_info *dimm, u32 dimm_capacity, u8 ddr_type,
|
||||||
u32 frequency, u8 channel_id, u8 dimm_id,
|
u32 frequency, u8 rank_per_dimm, u8 channel_id, u8 dimm_id,
|
||||||
const char *module_part_num, size_t module_part_number_size,
|
const char *module_part_num, size_t module_part_number_size,
|
||||||
u16 data_width);
|
u16 data_width);
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,7 @@ static void save_dimm_info(void)
|
||||||
src_dimm->DimmCapacity,
|
src_dimm->DimmCapacity,
|
||||||
memory_info_hob->MemoryType,
|
memory_info_hob->MemoryType,
|
||||||
memory_info_hob->ConfiguredMemoryClockSpeed,
|
memory_info_hob->ConfiguredMemoryClockSpeed,
|
||||||
|
src_dimm->RankInDimm,
|
||||||
channel_info->ChannelId,
|
channel_info->ChannelId,
|
||||||
src_dimm->DimmId,
|
src_dimm->DimmId,
|
||||||
(const char *)src_dimm->ModulePartNum,
|
(const char *)src_dimm->ModulePartNum,
|
||||||
|
|
|
@ -121,6 +121,7 @@ static void save_dimm_info(void)
|
||||||
src_dimm->DimmCapacity,
|
src_dimm->DimmCapacity,
|
||||||
ddr_type,
|
ddr_type,
|
||||||
memory_info_hob->ConfiguredMemoryClockSpeed,
|
memory_info_hob->ConfiguredMemoryClockSpeed,
|
||||||
|
src_dimm->RankInDimm,
|
||||||
channel_info->ChannelId,
|
channel_info->ChannelId,
|
||||||
src_dimm->DimmId,
|
src_dimm->DimmId,
|
||||||
(const char *)src_dimm->ModulePartNum,
|
(const char *)src_dimm->ModulePartNum,
|
||||||
|
|
Loading…
Reference in New Issue