drm/i915/gt: Drop i915_address_space::file (v2)
authorJason Ekstrand <jason@jlekstrand.net>
Thu, 8 Jul 2021 15:48:28 +0000 (10:48 -0500)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 8 Jul 2021 17:48:35 +0000 (19:48 +0200)
There's a big comment saying how useful it is but no one is using this
for anything anymore.

It was added in 2bfa996e031b ("drm/i915: Store owning file on the
i915_address_space") and used for debugfs at the time as well as telling
the difference between the global GTT and a PPGTT.  In f6e8aa387171
("drm/i915: Report the number of closed vma held by each context in
debugfs") we removed one use of it by switching to a context walk and
comparing with the VM in the context.  Finally, VM stats for debugfs
were entirely nuked in db80a1294c23 ("drm/i915/gem: Remove per-client
stats from debugfs/i915_gem_objects")

v2 (Daniel Vetter):
 - Delete a struct drm_i915_file_private pre-declaration
 - Add a comment to the commit message about history

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210708154835.528166-24-jason@jlekstrand.net
drivers/gpu/drm/i915/gem/i915_gem_context.c
drivers/gpu/drm/i915/gt/intel_gtt.h
drivers/gpu/drm/i915/selftests/mock_gtt.c

index 7045e3a..5a14025 100644 (file)
@@ -1453,17 +1453,10 @@ static int gem_context_register(struct i915_gem_context *ctx,
                                u32 *id)
 {
        struct drm_i915_private *i915 = ctx->i915;
-       struct i915_address_space *vm;
        int ret;
 
        ctx->file_priv = fpriv;
 
-       mutex_lock(&ctx->mutex);
-       vm = i915_gem_context_vm(ctx);
-       if (vm)
-               WRITE_ONCE(vm->file, fpriv); /* XXX */
-       mutex_unlock(&ctx->mutex);
-
        ctx->pid = get_task_pid(current, PIDTYPE_PID);
        snprintf(ctx->name, sizeof(ctx->name), "%s[%d]",
                 current->comm, pid_nr(ctx->pid));
@@ -1562,8 +1555,6 @@ int i915_gem_vm_create_ioctl(struct drm_device *dev, void *data,
        if (IS_ERR(ppgtt))
                return PTR_ERR(ppgtt);
 
-       ppgtt->vm.file = file_priv;
-
        if (args->extensions) {
                err = i915_user_extensions(u64_to_user_ptr(args->extensions),
                                           NULL, 0,
index 9bd89f2..bc71530 100644 (file)
@@ -140,7 +140,6 @@ typedef u64 gen8_pte_t;
 
 enum i915_cache_level;
 
-struct drm_i915_file_private;
 struct drm_i915_gem_object;
 struct i915_fence_reg;
 struct i915_vma;
@@ -220,16 +219,6 @@ struct i915_address_space {
        struct intel_gt *gt;
        struct drm_i915_private *i915;
        struct device *dma;
-       /*
-        * Every address space belongs to a struct file - except for the global
-        * GTT that is owned by the driver (and so @file is set to NULL). In
-        * principle, no information should leak from one context to another
-        * (or between files/processes etc) unless explicitly shared by the
-        * owner. Tracking the owner is important in order to free up per-file
-        * objects along with the file, to aide resource tracking, and to
-        * assign blame.
-        */
-       struct drm_i915_file_private *file;
        u64 total;              /* size addr space maps (ex. 2GB for ggtt) */
        u64 reserved;           /* size addr space reserved */
 
index 5c7ae40..cc047ec 100644 (file)
@@ -73,7 +73,6 @@ struct i915_ppgtt *mock_ppgtt(struct drm_i915_private *i915, const char *name)
        ppgtt->vm.gt = &i915->gt;
        ppgtt->vm.i915 = i915;
        ppgtt->vm.total = round_down(U64_MAX, PAGE_SIZE);
-       ppgtt->vm.file = ERR_PTR(-ENODEV);
        ppgtt->vm.dma = i915->drm.dev;
 
        i915_address_space_init(&ppgtt->vm, VM_CLASS_PPGTT);