diff options
author | William Bryan <wilbryan@us.ibm.com> | 2017-04-25 09:54:08 -0500 |
---|---|---|
committer | William A. Bryan <wilbryan@us.ibm.com> | 2017-04-26 12:53:40 -0400 |
commit | b0b0bc2c315f16edfe775f80bf61cb84cc3ad813 (patch) | |
tree | f12e8bf274fdca657737a15a8a79db557e0bf1a7 /src | |
parent | 14e46463c4aa168343162b159ba0e9f05654fb27 (diff) | |
download | talos-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.c | 13 | ||||
-rw-r--r-- | src/ssx/occhw/occhw_async_pba.c | 23 |
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 || |