This will simplify a following commit to allow lazy VM creation to fail.

Signed-off-by: Rob Clark <[email protected]>
---
 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c 
b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index 0d54141ff089..5738eac9aebd 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -356,6 +356,12 @@ int adreno_fault_handler(struct msm_gpu *gpu, unsigned 
long iova, int flags,
        return 0;
 }
 
+static bool
+valid_per_process_vm(struct msm_gpu *gpu, struct drm_gpuvm *vm)
+{
+       return (vm != gpu->vm);
+}
+
 int adreno_get_param(struct msm_gpu *gpu, struct msm_context *ctx,
                     uint32_t param, uint64_t *value, uint32_t *len)
 {
@@ -414,12 +420,12 @@ int adreno_get_param(struct msm_gpu *gpu, struct 
msm_context *ctx,
                *value = gpu->suspend_count;
                return 0;
        case MSM_PARAM_VA_START:
-               if (vm == gpu->vm)
+               if (!valid_per_process_vm(gpu, vm))
                        return UERR(EINVAL, drm, "requires per-process 
pgtables");
                *value = vm->mm_start;
                return 0;
        case MSM_PARAM_VA_SIZE:
-               if (vm == gpu->vm)
+               if (!valid_per_process_vm(gpu, vm))
                        return UERR(EINVAL, drm, "requires per-process 
pgtables");
                *value = vm->mm_range;
                return 0;
-- 
2.55.0

Reply via email to