We need to disable stall on memory access after a fault, otherwise the
device using the iommu will be perma-wedged with no access to memory.
This was causing drm/msm to be unable to recover the gpu after an iommu
fault.

Signed-off-by: Rob Clark <[email protected]>
---
 drivers/iommu/msm_iommu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/iommu/msm_iommu.c b/drivers/iommu/msm_iommu.c
index b09692b..f6f596f 100644
--- a/drivers/iommu/msm_iommu.c
+++ b/drivers/iommu/msm_iommu.c
@@ -628,6 +628,7 @@ irqreturn_t msm_iommu_fault_handler(int irq, void *dev_id)
                        pr_err("Interesting registers:\n");
                        print_ctx_regs(iommu->base, i);
                        SET_FSR(iommu->base, i, 0x4000000F);
+                       SET_RESUME(iommu->base, i, 1);
                }
        }
        __disable_clocks(iommu);
-- 
2.7.4

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to