summaryrefslogtreecommitdiffstats
path: root/src/usr/sbeio
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-07-23 12:53:01 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-08-01 16:13:13 -0500
commit98a657059a5cee86695434ddcf2f6f1f0a774d90 (patch)
treea276db01c3f0d884ee08856569a039a7dd3ce575 /src/usr/sbeio
parent4022351e16d2eb0368407c7a2e1d28507adcfee3 (diff)
downloadtalos-hostboot-98a657059a5cee86695434ddcf2f6f1f0a774d90.tar.gz
talos-hostboot-98a657059a5cee86695434ddcf2f6f1f0a774d90.zip
Only unmask source on proc targ passed to unmask function in intrrp
There was a bug in the code where if an interrupt was resolved for a source the code to clean up the pending interrupt in the intrrp will unmask the source. This was actually unmasking the source on all processors. This causes odd behavior if there was an outstanding int on that source on one of the other processors. Essentially the intrrp would think that a new interrupt came in but we will already be handling it. The logic breaks down here and we end up getting in a locked state. Fixing this caused issues with Hostboot management of the maskList which kept track of which sources were masked. Instead of managing this list of masked sources hostboot will instead keep track of sources which are not registered to any msg Qs. When new processors are added to the interrupt resource provider after fabric is up, all LSI sources who are not registered to a msg Q will be masked for the new processor. CQ: SW419101 Change-Id: I86f5bc2a748383e18b1853d9bf9480f265c214fd Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63158 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> 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> Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/sbeio')
-rw-r--r--src/usr/sbeio/sbe_psudd.C2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/usr/sbeio/sbe_psudd.C b/src/usr/sbeio/sbe_psudd.C
index d746e4d55..bd5d59f40 100644
--- a/src/usr/sbeio/sbe_psudd.C
+++ b/src/usr/sbeio/sbe_psudd.C
@@ -141,7 +141,7 @@ SbePsu::SbePsu()
// detected
l_err = INTR::registerMsgQ(iv_msgQ,
MSG_INTR,
- INTR::LSI_PSU);
+ INTR::ISN_PSU);
}
if (l_err)
OpenPOWER on IntegriCloud