summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/framework/resolution
diff options
context:
space:
mode:
authorChris Phan <cphan@us.ibm.com>2014-09-16 21:18:07 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-09-22 13:26:06 -0500
commitfe787082ffbf72795dc3c58d09e0a7ed45600da2 (patch)
treeae18464ab2b6abc2b79dc25273bef0714812e88a /src/usr/diag/prdf/common/framework/resolution
parent83e47c8df68c5736a8bb080d0a250df77c82f935 (diff)
downloadtalos-hostboot-fe787082ffbf72795dc3c58d09e0a7ed45600da2.tar.gz
talos-hostboot-fe787082ffbf72795dc3c58d09e0a7ed45600da2.zip
PRD: change osc callout and threshold design
Change-Id: Ib54734a1db5d17f4ea13ddd80f91fc4dae7aef3a CQ: SW278778 Backport: release-fips820 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13461 Tested-by: Jenkins Server Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13519
Diffstat (limited to 'src/usr/diag/prdf/common/framework/resolution')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/resolution/prdfClockResolution.C25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/common/framework/resolution/prdfClockResolution.C b/src/usr/diag/prdf/common/framework/resolution/prdfClockResolution.C
index 0bffe92c5..3ee6b3e4d 100755
--- a/src/usr/diag/prdf/common/framework/resolution/prdfClockResolution.C
+++ b/src/usr/diag/prdf/common/framework/resolution/prdfClockResolution.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2001,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -45,15 +47,13 @@ int32_t ClockResolution::Resolve(STEP_CODE_DATA_STRUCT & serviceData)
uint32_t l_rc = SUCCESS;
// callout clock osc
if ( (iv_targetType == TYPE_PROC) ||
- (iv_targetType == TYPE_PCI) ||
(iv_targetType == TYPE_MEMBUF) )
{
- // Get clock card.
- TYPE oscType = (iv_targetType == TYPE_PCI) ?
- TYPE_OSCPCICLK : TYPE_OSCREFCLK;
-
+ // even though we pass in pos=0 for systemref clk,
+ // getActiveRefClk will make sure it returns the active osc.
TargetHandle_t l_ptargetClock =
- PlatServices::getClockId(iv_ptargetClock, oscType);
+ PlatServices::getActiveRefClk(iv_ptargetClock,
+ TYPE_OSCREFCLK, 0);
// Callout this chip if nothing else.
if(NULL == l_ptargetClock)
@@ -70,11 +70,16 @@ int32_t ClockResolution::Resolve(STEP_CODE_DATA_STRUCT & serviceData)
#else
serviceData.service_data->SetCallout(
PRDcallout(l_ptargetClock,
- iv_targetType == TYPE_PCI ?
- PRDcalloutData::TYPE_PCICLK :
- PRDcalloutData::TYPE_PROCCLK));
+ PRDcalloutData::TYPE_PROCCLK));
#endif
}
+ else if (iv_targetType == TYPE_PCI)
+ {
+ // The PCIe OSC callout is being done inside
+ // chip plugins (prdfP8PllPcie) since the connected
+ // OSC can dynamically change and requires
+ // reading chip reg to figure out.
+ }
// Get all connected chips for non-CLOCK_CARD types.
else
{
OpenPOWER on IntegriCloud