aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/msm_gem.c
diff options
context:
space:
mode:
authorJonathan Marek <jonathan@marek.ca>2018-11-14 17:08:04 -0500
committerRob Clark <robdclark@gmail.com>2018-12-11 13:07:10 -0500
commitc2052a4e5c99f7edcb0283e6e12b2fb6975b7353 (patch)
tree2c1b7d32227e42b3d757d3cce7b6a5af1fbdad4a /drivers/gpu/drm/msm/msm_gem.c
parentd1d9d0e1724d6a7123b4280fdf6630ae70f96c9c (diff)
drm/msm: implement a2xx mmu
A2XX has its own very simple MMU. Added a msm_use_mmu() function because we can't rely on iommu_present to decide to use MMU or not. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gem.c')
-rw-r--r--drivers/gpu/drm/msm/msm_gem.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index 38b7f4e9e7ff..51a95da694d8 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -975,7 +975,7 @@ static struct drm_gem_object *_msm_gem_new(struct drm_device *dev,
975 975
976 size = PAGE_ALIGN(size); 976 size = PAGE_ALIGN(size);
977 977
978 if (!iommu_present(&platform_bus_type)) 978 if (!msm_use_mmu(dev))
979 use_vram = true; 979 use_vram = true;
980 else if ((flags & (MSM_BO_STOLEN | MSM_BO_SCANOUT)) && priv->vram.size) 980 else if ((flags & (MSM_BO_STOLEN | MSM_BO_SCANOUT)) && priv->vram.size)
981 use_vram = true; 981 use_vram = true;
@@ -1052,7 +1052,7 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev,
1052 int ret, npages; 1052 int ret, npages;
1053 1053
1054 /* if we don't have IOMMU, don't bother pretending we can import: */ 1054 /* if we don't have IOMMU, don't bother pretending we can import: */
1055 if (!iommu_present(&platform_bus_type)) { 1055 if (!msm_use_mmu(dev)) {
1056 DRM_DEV_ERROR(dev->dev, "cannot import without IOMMU\n"); 1056 DRM_DEV_ERROR(dev->dev, "cannot import without IOMMU\n");
1057 return ERR_PTR(-EINVAL); 1057 return ERR_PTR(-EINVAL);
1058 } 1058 }