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.marcinis...@intel.com>
Signed-off-by: Jubin John <jubin.j...@intel.com>
---
 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
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to