Enabling CONFIG_SDMA_VERBOSITY exposes a timing issue in the driver/DC firmware. Removing the CCE_INT_* CSR reads from sdma_dumpstate and a sdma_dumpstate call from the sdma_sendctrl() works around the issue Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> --- drivers/staging/rdma/hfi1/sdma.c | 11 ----------- 1 files changed, 0 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rdma/hfi1/sdma.c b/drivers/staging/rdma/hfi1/sdma.c index 2a1da21..b74a451 100644 --- a/drivers/staging/rdma/hfi1/sdma.c +++ b/drivers/staging/rdma/hfi1/sdma.c @@ -1635,9 +1635,6 @@ static void sdma_sendctrl(struct sdma_engine *sde, unsigned op) spin_unlock_irqrestore(&sde->senddmactrl_lock, flags); -#ifdef CONFIG_SDMA_VERBOSITY - sdma_dumpstate(sde); -#endif } static void sdma_setlengen(struct sdma_engine *sde) @@ -1774,7 +1771,6 @@ static void init_sdma_regs( void sdma_dumpstate(struct sdma_engine *sde) { u64 csr; - unsigned i; sdma_dumpstate_helper(SD(CTRL)); sdma_dumpstate_helper(SD(STATUS)); @@ -1782,13 +1778,6 @@ void sdma_dumpstate(struct sdma_engine *sde) sdma_dumpstate_helper0(SD(ERR_MASK)); sdma_dumpstate_helper(SD(ENG_ERR_STATUS)); sdma_dumpstate_helper(SD(ENG_ERR_MASK)); - - for (i = 0; i < CCE_NUM_INT_CSRS; ++i) { - sdma_dumpstate_helper2(CCE_INT_STATUS); - sdma_dumpstate_helper2(CCE_INT_MASK); - sdma_dumpstate_helper2(CCE_INT_BLOCKED); - } - sdma_dumpstate_helper(SD(TAIL)); sdma_dumpstate_helper(SD(HEAD)); sdma_dumpstate_helper(SD(PRIORITY_THLD)); -- 1.7.0.7 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel