Skip to content

Commit

Permalink
p9_sbe_tp_chiplet_init3: Honor PCI osc selection when checking for os…
Browse files Browse the repository at this point in the history
…c errors

The PCI oscillator checking code in proc_clock_test2 always checked both
osc error bits, which fails on a Cumulus system with only a single PCI
refclock active. Modify it to check osc error bits depending on which
oscillators have been configured in the osclite config.

Change-Id: I8c5ee38f8bc718dbb8eab59139a19800bb3a9f6f
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51723
Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Reviewed-by: SRINIVAS V. POLISETTY <srinivan@in.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Martin Padeffke <padeffke@de.ibm.com>
Dev-Ready: Joachim Fenkes <fenkes@de.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51796
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
  • Loading branch information
fenkes-ibm authored and sgupta2m committed Jan 13, 2018
1 parent 86ae83c commit 70f9504
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions src/import/chips/p9/procedures/hwp/perv/p9_sbe_tp_chiplet_init3.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* Contributors Listed Below - COPYRIGHT 2015,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -376,14 +376,19 @@ static fapi2::ReturnCode p9_sbe_tp_chiplet_init3_clock_test2(
{
if (cumulus_only_ec_attr) //Cumulus only
{
bool l_useosc0 = (l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC0
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC1
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_SRC0);
bool l_useosc1 = (l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC0
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC1
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_SRC1 );

FAPI_DBG("Cumulus - check for OSC ok");
//Getting SNS1LTH register value
FAPI_TRY(fapi2::getScom(i_target_chip, PERV_SNS1LTH_SCOM,
l_read)); //l_read = PIB.SNS1LTH

if (l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC0
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC1
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_SRC0)
if (l_useosc0)
{
FAPI_ASSERT(l_read.getBit<21>() == 0 && l_read.getBit<28>() == 1,
fapi2::MF_OSC_NOT_TOGGLE()
Expand All @@ -393,9 +398,7 @@ static fapi2::ReturnCode p9_sbe_tp_chiplet_init3_clock_test2(

}

if (l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC0
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_BOTHSRC1
|| l_data32 == p9SetupClockTerm::P9C_OSCSWITCH_RC3_SRC1 )
if (l_useosc1)
{
FAPI_ASSERT(l_read.getBit<23>() == 0 && l_read.getBit<29>() == 1,
fapi2::MF_OSC_NOT_TOGGLE()
Expand All @@ -409,7 +412,8 @@ static fapi2::ReturnCode p9_sbe_tp_chiplet_init3_clock_test2(
FAPI_TRY(fapi2::getScom(i_target_chip, PERV_TP_OSCERR_HOLD,
l_read)); //l_read = PERV.OSCERR_HOLD

FAPI_ASSERT(l_read.getBit<4>() == 0 && l_read.getBit<5>() == 0,
FAPI_ASSERT((l_read.getBit<4>() == 0 || !l_useosc0)
&& (l_read.getBit<5>() == 0 || !l_useosc1),
fapi2::MF_OSC_ERR()
.set_MASTER_CHIP(i_target_chip)
.set_READ_OSCERR_HOLD(l_read),
Expand Down

0 comments on commit 70f9504

Please sign in to comment.