diff options
author | Mike Jones <mjjones@us.ibm.com> | 2013-10-31 10:57:47 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-11-07 14:37:47 -0600 |
commit | 788db3640a526c04243ce0e1c6c5ff27c8493ac5 (patch) | |
tree | 14f6ef54c47112c5e3c58f53293dfa48c8877364 /src/usr | |
parent | b358e678ef4d95c662965a776b4cbd130e138c85 (diff) | |
download | talos-hostboot-788db3640a526c04243ce0e1c6c5ff27c8493ac5.tar.gz talos-hostboot-788db3640a526c04243ce0e1c6c5ff27c8493ac5.zip |
Bad DQ Unit Test can fail if run at same time as SPD Unit Test
Change-Id: I4c8793695c656d9a4167a2a2c1864d7f429bd2ed
RTC: 90158
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6983
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Donald E. Dahle <dedahle@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/hwpf/hwp/fapiTestHwpDq.C | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/usr/hwpf/hwp/fapiTestHwpDq.C b/src/usr/hwpf/hwp/fapiTestHwpDq.C index e3bf1b97e..e87f307a9 100644 --- a/src/usr/hwpf/hwp/fapiTestHwpDq.C +++ b/src/usr/hwpf/hwp/fapiTestHwpDq.C @@ -82,11 +82,14 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) break; } - // Get the first DIMM's port and dimm number + // Use the last DIMM + fapi::Target & l_dimmTarg = l_dimms.back(); + + // Get the DIMM's port and dimm number uint8_t l_port = 0; uint8_t l_dimm = 0; - l_rc = FAPI_ATTR_GET(ATTR_MBA_PORT, &(l_dimms[0]), l_port); + l_rc = FAPI_ATTR_GET(ATTR_MBA_PORT, &l_dimmTarg, l_port); if (l_rc) { @@ -94,7 +97,7 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) break; } - l_rc = FAPI_ATTR_GET(ATTR_MBA_DIMM, &(l_dimms[0]), l_dimm); + l_rc = FAPI_ATTR_GET(ATTR_MBA_DIMM, &l_dimmTarg, l_dimm); if (l_rc) { @@ -102,9 +105,13 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) break; } + FAPI_INF("fapiTestHwpDq: Using dimm with MBA port:%d, dimm:%d", + l_port, l_dimm); + // Get the bad DQ Bitmap for all ranks and print any non-zero data + const uint8_t NUM_RANKS = 4; uint8_t l_rank = 0; - for (l_rank = 0; l_rank < 3; l_rank++) + for (l_rank = 0; l_rank < NUM_RANKS; l_rank++) { // Get the bad DQ Bitmap for the rank l_rc = dimmGetBadDqBitmap(i_mba, l_port, l_dimm, l_rank, @@ -121,7 +128,7 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) { if (l_dqBitmap[i] != 0) { - FAPI_INF("fapiTestHwpDq: Non-zero DQ data. Rank:%d, Byte:%d, Val:0x02%x", + FAPI_INF("fapiTestHwpDq: Non-zero DQ data. Rank:%d, Byte:%d, Val:0x%02x", l_rank, i, l_dqBitmap[i]); } } @@ -142,7 +149,7 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) l_dqBitmap[6] = 0x20; // Set the bad DQ Bitmap for the last rank - l_rc = dimmSetBadDqBitmap(i_mba, l_port, l_dimm, l_rank, l_dqBitmap); + l_rc = dimmSetBadDqBitmap(i_mba, l_port, l_dimm, l_rank - 1, l_dqBitmap); if (l_rc) { @@ -154,7 +161,7 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) l_dqBitmap[2] = 0; l_dqBitmap[6] = 0; - l_rc = dimmGetBadDqBitmap(i_mba, l_port, l_dimm, l_rank, l_dqBitmap); + l_rc = dimmGetBadDqBitmap(i_mba, l_port, l_dimm, l_rank - 1, l_dqBitmap); if (l_rc) { @@ -176,7 +183,7 @@ fapi::ReturnCode fapiTestHwpDq(const fapi::Target & i_mba) l_dqBitmap[2] = l_origDq2; l_dqBitmap[6] = l_origDq6; - l_rc = dimmSetBadDqBitmap(i_mba, l_port, l_dimm, l_rank, l_dqBitmap); + l_rc = dimmSetBadDqBitmap(i_mba, l_port, l_dimm, l_rank - 1, l_dqBitmap); if (l_rc) { |