[Skiboot] [PATCH] fsp: Fix FSP irq initialization on PSIHBCR for resets

Ananth N Mavinakayanahalli ananth at in.ibm.com
Thu Mar 12 22:13:37 AEDT 2015


During Reset/Reload, we currently enable FSP interrupts on PSIHBCR
even before the DISR handshake is complete. Fix that.

Signed-off-by: Ananth N Mavinakayanahalli <ananth at in.ibm.com>
---
 hw/fsp/fsp.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c
index fdf175a..779eef9 100644
--- a/hw/fsp/fsp.c
+++ b/hw/fsp/fsp.c
@@ -722,6 +722,8 @@ static void fsp_handle_errors(struct fsp *fsp)
 
 			/* Also clear R&R complete bit in DISR */
 			fsp_wreg(fsp, FSP_DISR_REG, FSP_DISR_FSP_RR_COMPLETE);
+
+			psi_enable_fsp_interrupt(psi);
 		}
 	}
 
@@ -1859,7 +1861,6 @@ static void fsp_update_links_states(struct fsp *fsp)
 		fiop = &fsp->iopath[fsp->active_iopath];
 		psi_init_for_fsp(fiop->psi);
 		fsp_init_mbox(fsp);
-		psi_enable_fsp_interrupt(fiop->psi);
 	}
 }
 
@@ -1911,6 +1912,7 @@ static void fsp_create_fsp(struct dt_node *fsp_node)
 
 	fsp_init_links(fsp_node);
 	fsp_update_links_states(fsp);
+	psi_enable_fsp_interrupt(fsp->iopath[fsp->active_iopath].psi);
 }
 
 static void fsp_opal_poll(void *data __unused)



More information about the Skiboot mailing list