Consolidates the "which is the vm my execbuf runs in" code a bit. We
do some get/put which isn't really required, but all the other users
want the refcounting, and I figured doing a function just for this
getparam to avoid 2 atomis is a bit much.

Signed-off-by: Daniel Vetter <[email protected]>
Cc: Jon Bloomfield <[email protected]>
Cc: Chris Wilson <[email protected]>
Cc: Maarten Lankhorst <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: "Thomas Hellström" <[email protected]>
Cc: Matthew Auld <[email protected]>
Cc: Lionel Landwerlin <[email protected]>
Cc: Dave Airlie <[email protected]>
Cc: Jason Ekstrand <[email protected]>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c 
b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index cff72679ad7c..6263563e15d6 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -2124,6 +2124,7 @@ int i915_gem_context_getparam_ioctl(struct drm_device 
*dev, void *data,
        struct drm_i915_file_private *file_priv = file->driver_priv;
        struct drm_i915_gem_context_param *args = data;
        struct i915_gem_context *ctx;
+       struct i915_address_space *vm;
        int ret = 0;
 
        ctx = i915_gem_context_lookup(file_priv, args->ctx_id);
@@ -2133,12 +2134,10 @@ int i915_gem_context_getparam_ioctl(struct drm_device 
*dev, void *data,
        switch (args->param) {
        case I915_CONTEXT_PARAM_GTT_SIZE:
                args->size = 0;
-               rcu_read_lock();
-               if (rcu_access_pointer(ctx->vm))
-                       args->value = rcu_dereference(ctx->vm)->total;
-               else
-                       args->value = to_i915(dev)->ggtt.vm.total;
-               rcu_read_unlock();
+               vm = i915_gem_context_get_eb_vm(ctx);
+               args->value = vm->total;
+               i915_vm_put(vm);
+
                break;
 
        case I915_CONTEXT_PARAM_NO_ERROR_CAPTURE:
-- 
2.32.0

Reply via email to