Skip to content

Commit 62a28e2

Browse files
robclarkRob Clark
authored andcommitted
drm/msm: Split out helper to get iommu prot flags
We'll re-use this in the vm_bind path. Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com> Tested-by: Antonino Maniscalco <antomani103@gmail.com> Reviewed-by: Antonino Maniscalco <antomani103@gmail.com> Patchwork: https://patchwork.freedesktop.org/patch/661484/
1 parent 3788960 commit 62a28e2

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

drivers/gpu/drm/msm/msm_gem.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,10 +462,9 @@ static struct drm_gpuva *get_vma_locked(struct drm_gem_object *obj,
462462
return vma;
463463
}
464464

465-
int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma)
465+
int msm_gem_prot(struct drm_gem_object *obj)
466466
{
467467
struct msm_gem_object *msm_obj = to_msm_bo(obj);
468-
struct page **pages;
469468
int prot = IOMMU_READ;
470469

471470
if (!(msm_obj->flags & MSM_BO_GPU_READONLY))
@@ -477,6 +476,15 @@ int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma)
477476
if (msm_obj->flags & MSM_BO_CACHED_COHERENT)
478477
prot |= IOMMU_CACHE;
479478

479+
return prot;
480+
}
481+
482+
int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma)
483+
{
484+
struct msm_gem_object *msm_obj = to_msm_bo(obj);
485+
struct page **pages;
486+
int prot = msm_gem_prot(obj);
487+
480488
msm_gem_assert_locked(obj);
481489

482490
pages = msm_gem_get_pages_locked(obj, MSM_MADV_WILLNEED);

drivers/gpu/drm/msm/msm_gem.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ struct msm_gem_object {
158158
#define to_msm_bo(x) container_of(x, struct msm_gem_object, base)
159159

160160
uint64_t msm_gem_mmap_offset(struct drm_gem_object *obj);
161+
int msm_gem_prot(struct drm_gem_object *obj);
161162
int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma);
162163
void msm_gem_unpin_locked(struct drm_gem_object *obj);
163164
void msm_gem_unpin_active(struct drm_gem_object *obj);

0 commit comments

Comments
 (0)