Skip to content

Commit

Permalink
PRD: change register used to query for active chnl fail attn
Browse files Browse the repository at this point in the history
Change-Id: Ia0c17e4daa2194109ca1dfe2c98dd07363fc2f53
CQ: SW446765
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66741
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66808
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
  • Loading branch information
zane131 committed Oct 1, 2018
1 parent c33d520 commit aac8421
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/usr/diag/prdf/common/plat/mem/prdfMemUtils.C
Original file line number Diff line number Diff line change
Expand Up @@ -599,11 +599,19 @@ bool __queryUcsCentaur<TYPE_MEMBUF>( ExtensibleChip * i_chip )

uint32_t o_activeAttn = false;

SCAN_COMM_REGISTER_CLASS * fir = i_chip->getRegister("GLOBAL_CS_FIR");
// We can't use the GLOBAL_CS_FIR. It will not clear automatically when a
// channel has failed because the hardware clocks have stopped. Also, since
// it is a virtual register there really is no way to clear it. Fortunately
// we have the INTER_STATUS_REG that will tell us if there is an active
// attention. Note that we clear this register as part of the channel
// failure cleanup. So we can rely on this register to determine if there is
// a new channel failure.

SCAN_COMM_REGISTER_CLASS * fir = i_chip->getRegister("INTER_STATUS_REG");

if ( SUCCESS == fir->Read() )
{
o_activeAttn = !fir->BitStringIsZero();
o_activeAttn = fir->IsBitSet(2); // Centaur checkstop bit.
}

return o_activeAttn;
Expand Down

0 comments on commit aac8421

Please sign in to comment.