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
