Skip to content

Commit

Permalink
p9.mcs.scom.initfile -- apply workaround for HW400075 in RL=0 only
Browse files Browse the repository at this point in the history
Change-Id: Id48ff843c1070d5694aa65fb7be5d49f51d67c50
CQ: HW400075
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35588
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35626
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
jjmcgill authored and dcrowell77 committed Feb 7, 2017
1 parent bb1d5af commit 32f4cf4
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 9 deletions.
6 changes: 3 additions & 3 deletions src/import/chips/p9/initfiles/p9.mcs.scom.initfile
Expand Up @@ -50,7 +50,7 @@
SyntaxVersion = 3

target_type 0 TARGET_TYPE_MCS;

target_type 1 TARGET_TYPE_SYSTEM;


#--******************************************************************************
Expand Down Expand Up @@ -94,7 +94,7 @@ ispy MC01.PBI01.SCOMFIR.MCPERF1_ENABLE_PF_DROP_SRQ [when=S] {

# HW400075 Always set MDI to 1 for ttypes cp_me and cp_m
ispy MC01.PBI01.SCOMFIR.MCMODE2_DISABLE_MDI0 [when=S && ATTR_CHIP_EC_FEATURE_HW40075] {
spyv;
0b0001100000000;
spyv, expr;
0b0001100000000, (TGT1.ATTR_RISK_LEVEL == 0);
}

11 changes: 9 additions & 2 deletions src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C
Expand Up @@ -33,9 +33,12 @@ constexpr uint64_t literal_0b0111 = 0b0111;
constexpr uint64_t literal_0 = 0;
constexpr uint64_t literal_0b0001100000000 = 0b0001100000000;

fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0)
fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0,
const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1)
{
{
fapi2::ATTR_RISK_LEVEL_Type l_TGT1_ATTR_RISK_LEVEL;
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_RISK_LEVEL, TGT1, l_TGT1_ATTR_RISK_LEVEL));
fapi2::buffer<uint64_t> l_scom_buffer;
{
FAPI_TRY(fapi2::getScom( TGT0, 0x5010810ull, l_scom_buffer ));
Expand All @@ -54,7 +57,11 @@ fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0)
{
FAPI_TRY(fapi2::getScom( TGT0, 0x5010813ull, l_scom_buffer ));

l_scom_buffer.insert<1, 13, 51, uint64_t>(literal_0b0001100000000 );
if ((l_TGT1_ATTR_RISK_LEVEL == literal_0))
{
l_scom_buffer.insert<1, 13, 51, uint64_t>(literal_0b0001100000000 );
}

FAPI_TRY(fapi2::putScom(TGT0, 0x5010813ull, l_scom_buffer));
}

Expand Down
8 changes: 5 additions & 3 deletions src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.H
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016 */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand All @@ -31,12 +31,14 @@
#include <fapi2.H>


typedef fapi2::ReturnCode (*p9_mcs_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCS>&);
typedef fapi2::ReturnCode (*p9_mcs_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_MCS>&,
const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&);

extern "C"
{

fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0);
fapi2::ReturnCode p9_mcs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT0,
const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1);

}

Expand Down
Expand Up @@ -103,7 +103,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO
{
fapi2::toString(l_mcs_target, l_chipletTargetStr, sizeof(l_chipletTargetStr));
FAPI_DBG("Invoking p9.mcs.scom.initfile on target %s...", l_chipletTargetStr);
FAPI_EXEC_HWP(l_rc, p9_mcs_scom, l_mcs_target );
FAPI_EXEC_HWP(l_rc, p9_mcs_scom, l_mcs_target, FAPI_SYSTEM);

if (l_rc)
{
Expand Down

0 comments on commit 32f4cf4

Please sign in to comment.