From c1ad3c90e287e0ff7d54aae0acf5f1700d5c0434 Mon Sep 17 00:00:00 2001 From: Elyes HAOUAS Date: Thu, 16 Feb 2017 18:59:13 +0100 Subject: [PATCH] UPSTREAM: nb/i945/raminit: sdram_set_channel_mode Test if DIMM slot 3 is populated Add a test in case we have a DIMM2 not populated but DIMM3 is. BUG=none BRANCH=none TEST=none Change-Id: I80508fd652795593aef7e202891b494d60d4d6a9 Signed-off-by: Patrick Georgi Original-Commit-Id: 75da1fb2baca8ce5c54d4a1ad4eb9f411844cbaa Original-Change-Id: I14f82afe03884740570838e7b2771233356c518d Original-Signed-off-by: Elyes HAOUAS Original-Reviewed-on: https://review.coreboot.org/18386 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Nico Huber Reviewed-on: https://chromium-review.googlesource.com/445150 --- src/northbridge/intel/i945/raminit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/northbridge/intel/i945/raminit.c b/src/northbridge/intel/i945/raminit.c index cc227cc50e..db49d0a42c 100644 --- a/src/northbridge/intel/i945/raminit.c +++ b/src/northbridge/intel/i945/raminit.c @@ -1943,8 +1943,9 @@ static void sdram_set_channel_mode(struct sys_info *sysinfo) /* 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) { + } 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);