Bug #624
openMemory speed in SMBIOS is incorrectly doubled on Haswell
0%
Description
Tested on a Dell Precision T1700 SFF with NRI, my 1600 MT/s (800 MHz) RAM is reported by dmidecode -t 17 as running at 3200 MT/s.
This bug was introduced in https://review.coreboot.org/c/coreboot/+/89598/6. The frequency is doubled in dimm->ddr_frequency = ddr_freq_mhz * 2; /* In MT/s */, however (at least on NRI, I did not test MRC), ddr_freq_mhz (defined as (mchbar_read32(MC_BIOS_DATA) * 13333 * 2 + 50) / 100) is actually in MT/s, and so already doubled.
I also see this in coreboot logs: [DEBUG] memcfg DDR3 clock 1600 MHz. This debug print (added in https://review.coreboot.org/c/coreboot/+/89599/4) is printing DIV_ROUND_CLOSEST(mchbar_read32(MC_BIOS_DATA) * 13333 * 2, 100), which is pretty much the same as ddr_freq_mhz (except using DIV_ROUND_CLOSEST).
No data to display