summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/msm_mmu.h
diff options
context:
space:
mode:
authorStephane Viau2014-06-17 16:32:37 +0200
committerRob Clark2014-06-22 14:32:10 +0200
commit87e956e9be0cdb832e90a4731b620286a8826842 (patch)
treeaae99419fd336809818e4c91a393d89413b29719 /drivers/gpu/drm/msm/msm_mmu.h
parentdrm/msm: use PAGE_ALIGNED instead of IS_ALIGNED(PAGE_SIZE) (diff)
downloadkernel-qcow2-linux-87e956e9be0cdb832e90a4731b620286a8826842.tar.gz
kernel-qcow2-linux-87e956e9be0cdb832e90a4731b620286a8826842.tar.xz
kernel-qcow2-linux-87e956e9be0cdb832e90a4731b620286a8826842.zip
drm/msm: fix IOMMU cleanup for -EPROBE_DEFER
If probe fails after IOMMU is attached, we need to detach in order to clean up properly. Before this change, IOMMU faults would occur if the probe failed (-EPROBE_DEFER). Signed-off-by: Stephane Viau <sviau@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_mmu.h')
-rw-r--r--drivers/gpu/drm/msm/msm_mmu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_mmu.h b/drivers/gpu/drm/msm/msm_mmu.h
index 030324482b4a..21da6d154f71 100644
--- a/drivers/gpu/drm/msm/msm_mmu.h
+++ b/drivers/gpu/drm/msm/msm_mmu.h
@@ -22,6 +22,7 @@
struct msm_mmu_funcs {
int (*attach)(struct msm_mmu *mmu, const char **names, int cnt);
+ void (*detach)(struct msm_mmu *mmu, const char **names, int cnt);
int (*map)(struct msm_mmu *mmu, uint32_t iova, struct sg_table *sgt,
unsigned len, int prot);
int (*unmap)(struct msm_mmu *mmu, uint32_t iova, struct sg_table *sgt,