summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWilliam Bryan <wilbryan@us.ibm.com>2017-04-25 09:54:08 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2017-04-26 12:53:40 -0400
commitb0b0bc2c315f16edfe775f80bf61cb84cc3ad813 (patch)
treef12e8bf274fdca657737a15a8a79db557e0bf1a7 /src
parent14e46463c4aa168343162b159ba0e9f05654fb27 (diff)
downloadtalos-occ-b0b0bc2c315f16edfe775f80bf61cb84cc3ad813.tar.gz
talos-occ-b0b0bc2c315f16edfe775f80bf61cb84cc3ad813.zip
Remove SCOMs from SSX
Change-Id: If563995219348210baa30fbaf5c6700d49cf4ac8 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39652 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/ssx/occhw/occhw_async_ocb.c13
-rw-r--r--src/ssx/occhw/occhw_async_pba.c23
2 files changed, 20 insertions, 16 deletions
diff --git a/src/ssx/occhw/occhw_async_ocb.c b/src/ssx/occhw/occhw_async_ocb.c
index f504089..d93a31e 100644
--- a/src/ssx/occhw/occhw_async_ocb.c
+++ b/src/ssx/occhw/occhw_async_ocb.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -175,7 +175,8 @@ ocb_ffdc(int channel)
else
{
- getscom(OCB_OCBCSRN(channel), &(ffdc->csr.value));
+//TODO: Need to get OCBCSRN another way besides scom
+// getscom(OCB_OCBCSRN(channel), &(ffdc->csr.value));
ffdc->shbr.value = in32(OCB_OCBSHBRN(channel));
ffdc->shcs.value = in32(OCB_OCBSHCSN(channel));
@@ -191,7 +192,8 @@ ocb_ffdc(int channel)
}
- getscom(OCB_OCCLFIR, &(ffdc->fir.value));
+//TODO: Need to get OCBLFIR another way
+// getscom(OCB_OCCLFIR, &(ffdc->fir.value));
oci_ffdc(&(ffdc->oci_ffdc), OCI_MASTER_ID_OCB);
@@ -1017,14 +1019,15 @@ SSX_IRQ_FAST2FULL(ocb_error_handler, ocb_error_handler_full);
void
ocb_error_handler_full(void* arg, SsxIrqId irq, int priority)
{
- ocb_occlfir_t fir;
+ ocb_occlfir_t fir = {0};
ocb_occlfir_t fir_temp;
int channel;
AsyncQueue* queue;
ssx_irq_status_clear(irq);
- getscom(OCB_OCCLFIR, &(fir.value));
+// TODO: Need to get OCCLFIR another way
+// getscom(OCB_OCCLFIR, &(fir.value));
fir_temp.value = 0;
fir_temp.fields.ocb_idc0_error = 1;
diff --git a/src/ssx/occhw/occhw_async_pba.c b/src/ssx/occhw/occhw_async_pba.c
index 555177a..12009e0 100644
--- a/src/ssx/occhw/occhw_async_pba.c
+++ b/src/ssx/occhw/occhw_async_pba.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -160,8 +160,8 @@ pba_bridge_ffdc(PbaBridgeFfdc* ffdc)
if (ffdc->common.error == 0)
{
-
- pba_common_ffdc(&(ffdc->common));
+ //TODO: Cannot get this information through scoms
+ //pba_common_ffdc(&(ffdc->common));
ffdc->slvrst.value = in64(PBA_SLVRST);
@@ -182,8 +182,8 @@ bce_ffdc(BceFfdc* ffdc, int engine)
{
if (ffdc->common.error == 0)
{
-
- pba_common_ffdc(&(ffdc->common));
+ //TODO: Cannot get this information through scoms
+ //pba_common_ffdc(&(ffdc->common));
ffdc->ctl.value = in64(G_bce_ctl[engine]);
ffdc->set.value = in64(G_bce_set[engine]);
@@ -200,8 +200,8 @@ pbax_send_ffdc(PbaxSendFfdc* ffdc)
{
if (ffdc->common.error == 0)
{
-
- pba_common_ffdc(&(ffdc->common));
+ //TODO: Cannot get this information through scoms
+ //pba_common_ffdc(&(ffdc->common));
ffdc->xcfg.value = in64(PBA_XCFG);
ffdc->xsndtx.value = in64(PBA_XSNDTX);
@@ -222,8 +222,8 @@ pbax_receive_ffdc(PbaxReceiveFfdc* ffdc)
if (ffdc->common.error == 0)
{
-
- pba_common_ffdc(&(ffdc->common));
+ //TODO: Cannot get this information through scoms
+ //pba_common_ffdc(&(ffdc->common));
ffdc->xcfg.value = in64(PBA_XCFG);
ffdc->xrcvstat.value = in64(PBA_XRCVSTAT);
@@ -1155,7 +1155,7 @@ SSX_IRQ_FAST2FULL(pba_error_handler, pba_error_handler_full);
void
pba_error_handler_full(void* arg, SsxIrqId irq, int priority)
{
- pba_fir_t fir;
+ pba_fir_t fir = {0};
pba_bcde_stat_t bcde_stat;
pba_bcue_stat_t bcue_stat;
pba_xsndstat_t xsndstat;
@@ -1165,7 +1165,7 @@ pba_error_handler_full(void* arg, SsxIrqId irq, int priority)
ssx_irq_status_clear(irq);
- getscom(PBA_FIR, &(fir.value));
+ //getscom(PBA_FIR, &(fir.value));
bcde_stat.words.high_order = in32(PBA_BCDE_STAT);
bcue_stat.words.high_order = in32(PBA_BCUE_STAT);
xsndstat.words.high_order = in32(PBA_XSNDSTAT);
@@ -1212,6 +1212,7 @@ pba_error_handler_full(void* arg, SsxIrqId irq, int priority)
// Any FIR bits not already attributable to previously handled errors are
// assumed to be due to the generic bridge.
+ // TODO: These should be bitwise OR'd not logic OR'd?
if (fir.value &
(
PBA_FIR_OCI_APAR_ERR ||
OpenPOWER on IntegriCloud