From 5e10de0c32edc997407ef1911946f700e30ffd5e Mon Sep 17 00:00:00 2001 From: Ananth N Mavinakayanahalli Date: Thu, 12 Mar 2015 16:43:37 +0530 Subject: fsp: Fix FSP irq initialization on PSIHBCR for resets 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 Signed-off-by: Stewart Smith --- hw/fsp/fsp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'hw/fsp/fsp.c') 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) -- cgit v1.1