diff options
author | Dave Airlie <airlied@redhat.com> | 2019-01-25 07:44:53 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2019-01-25 07:45:00 +1000 |
commit | f0e7ce1eef5854584dfb59b3824a67edee37580f (patch) | |
tree | 45d622c2588a7bd42430d7e7590617f13341670d /drivers/gpu/drm/msm/msm_gem.c | |
parent | 7325e4bd06b02c3aa14fb1066164aefcdee73115 (diff) | |
parent | a840f690d3c6f2f27425ca7e7bd2d635cdec07d7 (diff) | |
download | linux-f0e7ce1eef5854584dfb59b3824a67edee37580f.tar.gz linux-f0e7ce1eef5854584dfb59b3824a67edee37580f.tar.bz2 linux-f0e7ce1eef5854584dfb59b3824a67edee37580f.zip |
Merge tag 'drm-msm-fixes-2019-01-24' of git://people.freedesktop.org/~robclark/linux into drm-fixes
A few fixes for v5.0.. the opp-level fix and removal of hard-coded irq
name is partially to make things smoother in v5.1 merge window to
avoid dependency on drm vs dt trees, but are otherwise sane changes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGsAEHd2tGRQxRTs+A-8y_tthPs2iUgCCCEwR5vDMXab4A@mail.gmail.com
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gem.c')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gem.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 51a95da694d8..c8886d3071fa 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -391,6 +391,10 @@ static int msm_gem_pin_iova(struct drm_gem_object *obj, struct msm_gem_object *msm_obj = to_msm_bo(obj); struct msm_gem_vma *vma; struct page **pages; + int prot = IOMMU_READ; + + if (!(msm_obj->flags & MSM_BO_GPU_READONLY)) + prot |= IOMMU_WRITE; WARN_ON(!mutex_is_locked(&msm_obj->lock)); @@ -405,8 +409,8 @@ static int msm_gem_pin_iova(struct drm_gem_object *obj, if (IS_ERR(pages)) return PTR_ERR(pages); - return msm_gem_map_vma(aspace, vma, msm_obj->sgt, - obj->size >> PAGE_SHIFT); + return msm_gem_map_vma(aspace, vma, prot, + msm_obj->sgt, obj->size >> PAGE_SHIFT); } /* get iova and pin it. Should have a matching put */ |