diff options
author | Timothy Pearson <tpearson@raptorengineeringinc.com> | 2016-05-07 16:05:05 -0500 |
---|---|---|
committer | Timothy Pearson <tpearson@raptorengineeringinc.com> | 2016-05-09 20:43:29 +0200 |
commit | d112f46bed85dcd6d064a057c2d355d68559f780 (patch) | |
tree | 249b90bec4a00a2d1e1a6acb27544334fb1dba7b /src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c | |
parent | 12a8aba4189d1f628a481942b08275503837dd88 (diff) | |
download | coreboot-d112f46bed85dcd6d064a057c2d355d68559f780.tar.xz |
nb/amd/mct_ddr3: Add support for non-ECC DIMMs on AMD Family 15h
While some stubs existed before this patch to handle non-ECC
memory initialization, there were a number of ECC detect unaware
sections of code. Add ECC support detection to those sections.
Change-Id: I56dad8a0f6833b2f42796212afb9777e9cc73d6d
Tested-On: ASUS KGPE-D16
Tested-With: 1x Opteron 6262
Tested-With: 1x SuperTalent 4G non-ECC DIMM in slot A2
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Reviewed-on: https://review.coreboot.org/14737
Tested-by: build bot (Jenkins)
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Damien Zammit <damien@zamaudio.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c')
-rw-r--r-- | src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c b/src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c index be956476b8..f97b8c64d3 100644 --- a/src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c +++ b/src/northbridge/amd/amdmct/mct_ddr3/mctsrc.c @@ -1657,7 +1657,7 @@ static void dqsTrainMaxRdLatency_SW_Fam15(struct MCTStatStruc *pMCTstat, read_dqs_receiver_enable_control_registers(current_total_delay, dev, Channel, dimm, index_reg); read_dqs_read_data_timing_registers(current_rdqs_total_delay, dev, Channel, dimm, index_reg); - for (lane = 0; lane < 8; lane++) { + for (lane = 0; lane < lane_count; lane++) { current_total_delay[lane] += current_rdqs_total_delay[lane]; if (current_total_delay[lane] > current_worst_case_total_delay_value) { current_worst_case_total_delay_dimm = dimm; @@ -1666,7 +1666,7 @@ static void dqsTrainMaxRdLatency_SW_Fam15(struct MCTStatStruc *pMCTstat, } #if DQS_TRAIN_DEBUG > 0 - for (lane = 0; lane < 8; lane++) + for (lane = 0; lane < lane_count; lane++) print_debug_dqs_pair("\t\tTrainMaxRdLatency56: Lane ", lane, " current_total_delay ", current_total_delay[lane], 2); #endif } |