]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/nouveau: remove abi16->device
authorBen Skeggs <bskeggs@nvidia.com>
Fri, 26 Jul 2024 04:38:00 +0000 (14:38 +1000)
committerDanilo Krummrich <dakr@kernel.org>
Sat, 27 Jul 2024 01:05:23 +0000 (03:05 +0200)
The previous commit removes the last remnants of userspace's own nvif
instance, so this isn't needed anymore to hide the abi16 objects from
userspace and we can use nouveau_cli.device instead.

Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240726043828.58966-10-bskeggs@nvidia.com
drivers/gpu/drm/nouveau/nouveau_abi16.c
drivers/gpu/drm/nouveau/nouveau_abi16.h

index f2f5031d539f9d0fefea03fa3b2b4d705f386ce7..a0513192005225227ae30dd8f3824d17b141361b 100644 (file)
@@ -46,25 +46,9 @@ nouveau_abi16(struct drm_file *file_priv)
                struct nouveau_abi16 *abi16;
                cli->abi16 = abi16 = kzalloc(sizeof(*abi16), GFP_KERNEL);
                if (cli->abi16) {
-                       struct nv_device_v0 args = {
-                               .device = ~0ULL,
-                       };
-
                        abi16->cli = cli;
                        INIT_LIST_HEAD(&abi16->channels);
                        INIT_LIST_HEAD(&abi16->objects);
-
-                       /* allocate device object targeting client's default
-                        * device (ie. the one that belongs to the fd it
-                        * opened)
-                        */
-                       if (nvif_device_ctor(&cli->base.object, "abi16Device",
-                                            0, NV_DEVICE, &args, sizeof(args),
-                                            &abi16->device) == 0)
-                               return cli->abi16;
-
-                       kfree(cli->abi16);
-                       cli->abi16 = NULL;
                }
        }
        return cli->abi16;
@@ -241,9 +225,6 @@ nouveau_abi16_fini(struct nouveau_abi16 *abi16)
                nouveau_abi16_chan_fini(abi16, chan);
        }
 
-       /* destroy the device object */
-       nvif_device_dtor(&abi16->device);
-
        kfree(cli->abi16);
        cli->abi16 = NULL;
 }
@@ -360,7 +341,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
        struct nouveau_drm *drm = nouveau_drm(dev);
        struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
        struct nouveau_abi16_chan *chan;
-       struct nvif_device *device;
+       struct nvif_device *device = &cli->device;
        u64 engine, runm;
        int ret;
 
@@ -377,7 +358,6 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
         */
        __nouveau_cli_disable_uvmm_noinit(cli);
 
-       device = &abi16->device;
        engine = NV_DEVICE_HOST_RUNLIST_ENGINES_GR;
 
        /* hack to allow channel engine type specification on kepler */
@@ -643,13 +623,14 @@ nouveau_abi16_ioctl_notifierobj_alloc(ABI16_IOCTL_ARGS)
        struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
        struct nouveau_abi16_chan *chan;
        struct nouveau_abi16_ntfy *ntfy;
-       struct nvif_device *device = &abi16->device;
+       struct nvif_device *device;
        struct nvif_client *client;
        struct nv_dma_v0 args = {};
        int ret;
 
        if (unlikely(!abi16))
                return -ENOMEM;
+       device = &abi16->cli->device;
 
        /* completely unnecessary for these chipsets... */
        if (unlikely(device->info.family >= NV_DEVICE_INFO_V0_FERMI))
index 75a883a44e04d282854c816793279b00d8582b05..4743459ea14c78e494dd994fbe0839e3d366db07 100644 (file)
@@ -31,7 +31,6 @@ struct nouveau_abi16_chan {
 
 struct nouveau_abi16 {
        struct nouveau_cli *cli;
-       struct nvif_device device;
        struct list_head channels;
        u64 handles;
        struct list_head objects;