summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/nest_chiplets
diff options
context:
space:
mode:
authorMatt Ploetz <maploetz@us.ibm.com>2013-11-08 15:24:29 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-11-08 20:20:06 -0600
commitc2f709814c7b031e09c0aba66a201f0d63698674 (patch)
treed73e2dfa4ec15f025a68a60cfacd9ffe4865f318 /src/usr/hwpf/hwp/nest_chiplets
parentf60b3727eb2af1217b6dd32a5828db4819a94dc2 (diff)
downloadtalos-hostboot-c2f709814c7b031e09c0aba66a201f0d63698674.tar.gz
talos-hostboot-c2f709814c7b031e09c0aba66a201f0d63698674.zip
INITPROC: Hostboot - SW229144 HOT P8 DD 2.0 bringup fixes
Change-Id: I4978dd4cf63d43d28ce2bd6bf9c1d0443a62de61 CMVC-Coreq: 902451 CQ: SW229144 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7134 Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/nest_chiplets')
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_utils.C26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_utils.C b/src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_utils.C
index af09b1947..90ad8d69b 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_utils.C
+++ b/src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_utils.C
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: proc_a_x_pci_dmi_pll_utils.C,v 1.4 2013/09/30 16:09:57 jmcgill Exp $
+// $Id: proc_a_x_pci_dmi_pll_utils.C,v 1.5 2013/10/28 06:45:46 jmcgill Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_a_x_pci_dmi_pll_utils.C,v $
//------------------------------------------------------------------------------
// *|
@@ -110,6 +110,7 @@ fapi::ReturnCode proc_a_x_pci_dmi_pll_scan_bndy(
// return codes
uint32_t rc_ecmd = 0;
fapi::ReturnCode rc;
+ bool unmask_scan_collision = false;
// mark function entry
FAPI_DBG("Start");
@@ -122,7 +123,17 @@ fapi::ReturnCode proc_a_x_pci_dmi_pll_scan_bndy(
if (i_mask_scan_collision)
{
+ FAPI_DBG("Reading value of Pervasive LFIR scan collision mask bit ...");
+ rc = fapiGetScom(i_target, i_chiplet_base_scom_addr | GENERIC_PERV_LFIR_MASK_0x0004000D, data);
+ if (!rc.ok())
+ {
+ FAPI_ERR("Error reading Pervasive LFIR Mask OR Register.");
+ break;
+ }
+ unmask_scan_collision = data.isBitClear(PERV_LFIR_SCAN_COLLISION_BIT);
+
FAPI_DBG("Masking Pervasive LFIR scan collision bit ...");
+ rc_ecmd |= data.flushTo0();
rc_ecmd |= data.setBit(PERV_LFIR_SCAN_COLLISION_BIT);
if (rc_ecmd)
{
@@ -271,12 +282,15 @@ fapi::ReturnCode proc_a_x_pci_dmi_pll_scan_bndy(
break;
}
- FAPI_DBG("Unmasking Pervasive LFIR scan collision bit ...");
- rc = fapiPutScom(i_target, i_chiplet_base_scom_addr | GENERIC_PERV_LFIR_MASK_AND_0x0004000E, data);
- if (!rc.ok())
+ if (unmask_scan_collision)
{
- FAPI_ERR("Error writing Pervasive LFIR Mask And Register.");
- break;
+ FAPI_DBG("Unmasking Pervasive LFIR scan collision bit ...");
+ rc = fapiPutScom(i_target, i_chiplet_base_scom_addr | GENERIC_PERV_LFIR_MASK_AND_0x0004000E, data);
+ if (!rc.ok())
+ {
+ FAPI_ERR("Error writing Pervasive LFIR Mask And Register.");
+ break;
+ }
}
}
} while(0);
OpenPOWER on IntegriCloud