summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Ploetz <maploetz@us.ibm.com>2015-09-04 13:31:11 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-09-11 13:01:13 -0500
commit75ab80725a26b4d0a6bc2163076c9c8cf1decfa2 (patch)
tree1f7cabcdabcab1f819bf621e1f9f4c5bd8a24491
parent65b26d3a522cf544e5b4111cd9bd91f92b56520c (diff)
downloadtalos-hostboot-75ab80725a26b4d0a6bc2163076c9c8cf1decfa2.tar.gz
talos-hostboot-75ab80725a26b4d0a6bc2163076c9c8cf1decfa2.zip
Setup DMI pll X and A bus via enable attribute
Change-Id: Ie82f561c2ca8cc91778ab12fa6646d540f1bf186 RTC:109249 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20332 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C49
1 files changed, 40 insertions, 9 deletions
diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
index 14b44310a..d02902071 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
+++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
@@ -250,6 +250,11 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs )
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_a_x_pci_dmi_pll_setup entry" );
+ fapi::ReturnCode rc;
+
+ uint8_t abus_enable_attr = ENUM_ATTR_PROC_A_ENABLE_DISABLE;
+ uint8_t xbus_enable_attr = ENUM_ATTR_PROC_X_ENABLE_DISABLE;
+
TARGETING::TargetHandleList l_procTargetList;
getAllChips(l_procTargetList, TYPE_PROC);
@@ -270,19 +275,37 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs )
bool l_startAbusPll = false;
bool l_startPCIEPll = false;
bool l_startDMIPll = false;
-
- TARGETING::TargetHandleList l_xbus;
- getChildChiplets( l_xbus, l_proc_target, TYPE_XBUS );
- if (l_xbus.size() > 0)
+
+ rc = FAPI_ATTR_GET(ATTR_PROC_X_ENABLE,
+ &l_fapi_proc_target,
+ xbus_enable_attr);
+
+ if (!rc.ok())
+ {
+ FAPI_ERR("Error querying ATTR_PROC_X_ENABLE");
+ l_err = fapi::fapiRcToErrl(rc);
+ break;
+ }
+
+ if( xbus_enable_attr == fapi::ENUM_ATTR_PROC_X_ENABLE_ENABLE )
+ {
+ l_startXbusPll = true;
+ }
+
+ rc = FAPI_ATTR_GET(ATTR_PROC_A_ENABLE,
+ &l_fapi_proc_target,
+ abus_enable_attr);
+
+ if (!rc.ok())
{
- l_startXbusPll = true;
+ FAPI_ERR("Error querying ATTR_PROC_A_ENABLE");
+ l_err = fapi::fapiRcToErrl(rc);
+ break;
}
- TARGETING::TargetHandleList l_abus;
- getChildChiplets( l_abus, l_proc_target, TYPE_ABUS );
- if (l_abus.size() > 0)
+ if( abus_enable_attr == fapi::ENUM_ATTR_PROC_A_ENABLE_ENABLE )
{
- l_startAbusPll = true;
+ l_startAbusPll = true;
}
TARGETING::TargetHandleList l_pci;
@@ -330,6 +353,14 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs )
}
}
+ if (l_err)
+ {
+ // Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
#ifdef CONFIG_PCIE_HOTPLUG_CONTROLLER
// Loop through all the procs in the system
OpenPOWER on IntegriCloud