mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
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/
This commit is contained in:
parent
37889600f5
commit
62a28e272b
|
|
@ -462,10 +462,9 @@ static struct drm_gpuva *get_vma_locked(struct drm_gem_object *obj,
|
|||
return vma;
|
||||
}
|
||||
|
||||
int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma)
|
||||
int msm_gem_prot(struct drm_gem_object *obj)
|
||||
{
|
||||
struct msm_gem_object *msm_obj = to_msm_bo(obj);
|
||||
struct page **pages;
|
||||
int prot = IOMMU_READ;
|
||||
|
||||
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)
|
|||
if (msm_obj->flags & MSM_BO_CACHED_COHERENT)
|
||||
prot |= IOMMU_CACHE;
|
||||
|
||||
return prot;
|
||||
}
|
||||
|
||||
int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma)
|
||||
{
|
||||
struct msm_gem_object *msm_obj = to_msm_bo(obj);
|
||||
struct page **pages;
|
||||
int prot = msm_gem_prot(obj);
|
||||
|
||||
msm_gem_assert_locked(obj);
|
||||
|
||||
pages = msm_gem_get_pages_locked(obj, MSM_MADV_WILLNEED);
|
||||
|
|
|
|||
|
|
@ -158,6 +158,7 @@ struct msm_gem_object {
|
|||
#define to_msm_bo(x) container_of(x, struct msm_gem_object, base)
|
||||
|
||||
uint64_t msm_gem_mmap_offset(struct drm_gem_object *obj);
|
||||
int msm_gem_prot(struct drm_gem_object *obj);
|
||||
int msm_gem_pin_vma_locked(struct drm_gem_object *obj, struct drm_gpuva *vma);
|
||||
void msm_gem_unpin_locked(struct drm_gem_object *obj);
|
||||
void msm_gem_unpin_active(struct drm_gem_object *obj);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user