HAOUAS Elyes has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39537 )
Change subject: nb/intel/i945: Refactor sdram_set_channel_mode() ......................................................................
nb/intel/i945: Refactor sdram_set_channel_mode()
Change-Id: I7574bc4a1dbb55d12dec9be17e403a2f448c16c0 Signed-off-by: Elyes HAOUAS ehaouas@noos.fr --- M src/northbridge/intel/i945/raminit.c 1 file changed, 10 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/37/39537/1
diff --git a/src/northbridge/intel/i945/raminit.c b/src/northbridge/intel/i945/raminit.c index dd7030e..972e71f 100644 --- a/src/northbridge/intel/i945/raminit.c +++ b/src/northbridge/intel/i945/raminit.c @@ -1572,21 +1572,19 @@ reg32 = MCHBAR32(DCC); reg32 &= ~(7 << 0);
- if (sysinfo->interleaved) { - /* Dual Channel Interleaved */ - printk(BIOS_DEBUG, "Dual Channel Interleaved.\n"); - reg32 |= (1 << 1); - } else if (sysinfo->dimm[0] == SYSINFO_DIMM_NOT_POPULATED && - sysinfo->dimm[1] == SYSINFO_DIMM_NOT_POPULATED) { + if (sdram_capabilities_dual_channel() { + if (sysinfo->interleaved) { + printk(BIOS_DEBUG, "Dual Channel Interleaved.\n"); + reg32 |= (1 << 1); + } else { + /* Dual Channel Asymmetric */ + printk(BIOS_DEBUG, "Dual Channel Asymmetric.\n"); + reg32 |= (1 << 0); + } + } else if (sysinfo->dimm[0] == SYSINFO_DIMM_NOT_POPULATED { /* Channel 1 only */ printk(BIOS_DEBUG, "Single Channel 1 only.\n"); reg32 |= (1 << 2); - } else if (sdram_capabilities_dual_channel() && - (sysinfo->dimm[2] != SYSINFO_DIMM_NOT_POPULATED || - sysinfo->dimm[3] != SYSINFO_DIMM_NOT_POPULATED)) { - /* Dual Channel Asymmetric */ - printk(BIOS_DEBUG, "Dual Channel Asymmetric.\n"); - reg32 |= (1 << 0); } else { /* All bits 0 means Single Channel 0 operation */ printk(BIOS_DEBUG, "Single Channel 0 only.\n");