diff options
author | Jonathan Marek <jonathan@marek.ca> | 2020-04-23 23:09:14 +0200 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2020-05-18 18:26:33 +0200 |
commit | 0b462d7a71c07e96b8f02cbc2d134fdc6e80ef34 (patch) | |
tree | 62517af5262e2ede94498c19b6c38642897f1cc5 /drivers/gpu/drm/msm | |
parent | drm/msm: add msm_gem_get_and_pin_iova_range (diff) | |
download | linux-0b462d7a71c07e96b8f02cbc2d134fdc6e80ef34.tar.xz linux-0b462d7a71c07e96b8f02cbc2d134fdc6e80ef34.zip |
drm/msm: add internal MSM_BO_MAP_PRIV flag
This flag sets IOMMU_PRIV, which is required for some a6xx GMU objects.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Jordan Crouse <jcrouse@codeauorora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gem.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/msm_gem.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index d8f56a34c117..6277fde13df9 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -428,6 +428,9 @@ static int msm_gem_pin_iova(struct drm_gem_object *obj, if (!(msm_obj->flags & MSM_BO_GPU_READONLY)) prot |= IOMMU_WRITE; + if (msm_obj->flags & MSM_BO_MAP_PRIV) + prot |= IOMMU_PRIV; + WARN_ON(!mutex_is_locked(&msm_obj->lock)); if (WARN_ON(msm_obj->madv != MSM_MADV_WILLNEED)) diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 30584eaf8cc8..972490b14ba5 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -13,6 +13,7 @@ /* Additional internal-use only BO flags: */ #define MSM_BO_STOLEN 0x10000000 /* try to use stolen/splash memory */ +#define MSM_BO_MAP_PRIV 0x20000000 /* use IOMMU_PRIV when mapping */ struct msm_gem_address_space { const char *name; |