]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/nouveau: pass drm to nouveau_mem_new(), instead of cli
authorBen Skeggs <bskeggs@nvidia.com>
Fri, 26 Jul 2024 04:38:20 +0000 (14:38 +1000)
committerDanilo Krummrich <dakr@kernel.org>
Sat, 27 Jul 2024 01:05:41 +0000 (03:05 +0200)
The nouveau_cli pointer is only ever used to eventually access
nouveau_drm, so just store it directly.

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-30-bskeggs@nvidia.com
drivers/gpu/drm/nouveau/nouveau_mem.c
drivers/gpu/drm/nouveau/nouveau_mem.h
drivers/gpu/drm/nouveau/nouveau_sgdma.c
drivers/gpu/drm/nouveau/nouveau_ttm.c

index 67f93cf753ba6ed2b05969c9668bd9c85bfd055f..b112b62dca3cbfcc374b0da85b5a37f83686650f 100644 (file)
@@ -78,19 +78,18 @@ nouveau_mem_map(struct nouveau_mem *mem,
 void
 nouveau_mem_fini(struct nouveau_mem *mem)
 {
-       nvif_vmm_put(&mem->cli->drm->client.vmm.vmm, &mem->vma[1]);
-       nvif_vmm_put(&mem->cli->drm->client.vmm.vmm, &mem->vma[0]);
-       mutex_lock(&mem->cli->drm->master.lock);
+       nvif_vmm_put(&mem->drm->client.vmm.vmm, &mem->vma[1]);
+       nvif_vmm_put(&mem->drm->client.vmm.vmm, &mem->vma[0]);
+       mutex_lock(&mem->drm->master.lock);
        nvif_mem_dtor(&mem->mem);
-       mutex_unlock(&mem->cli->drm->master.lock);
+       mutex_unlock(&mem->drm->master.lock);
 }
 
 int
 nouveau_mem_host(struct ttm_resource *reg, struct ttm_tt *tt)
 {
        struct nouveau_mem *mem = nouveau_mem(reg);
-       struct nouveau_cli *cli = mem->cli;
-       struct nouveau_drm *drm = cli->drm;
+       struct nouveau_drm *drm = mem->drm;
        struct nvif_mmu *mmu = &drm->mmu;
        struct nvif_mem_ram_v0 args = {};
        u8 type;
@@ -126,8 +125,7 @@ int
 nouveau_mem_vram(struct ttm_resource *reg, bool contig, u8 page)
 {
        struct nouveau_mem *mem = nouveau_mem(reg);
-       struct nouveau_cli *cli = mem->cli;
-       struct nouveau_drm *drm = cli->drm;
+       struct nouveau_drm *drm = mem->drm;
        struct nvif_mmu *mmu = &drm->mmu;
        u64 size = ALIGN(reg->size, 1 << page);
        int ret;
@@ -173,7 +171,7 @@ nouveau_mem_del(struct ttm_resource_manager *man, struct ttm_resource *reg)
 }
 
 int
-nouveau_mem_new(struct nouveau_cli *cli, u8 kind, u8 comp,
+nouveau_mem_new(struct nouveau_drm *drm, u8 kind, u8 comp,
                struct ttm_resource **res)
 {
        struct nouveau_mem *mem;
@@ -181,7 +179,7 @@ nouveau_mem_new(struct nouveau_cli *cli, u8 kind, u8 comp,
        if (!(mem = kzalloc(sizeof(*mem), GFP_KERNEL)))
                return -ENOMEM;
 
-       mem->cli = cli;
+       mem->drm = drm;
        mem->kind = kind;
        mem->comp = comp;
 
index 5365a3d3a17f7c5190916b3c2552a0dfc373f4df..a070ee049f6b061a33b425089280374fd5bb2742 100644 (file)
@@ -8,7 +8,7 @@ struct ttm_tt;
 
 struct nouveau_mem {
        struct ttm_resource base;
-       struct nouveau_cli *cli;
+       struct nouveau_drm *drm;
        u8 kind;
        u8 comp;
        struct nvif_mem mem;
@@ -21,7 +21,7 @@ nouveau_mem(struct ttm_resource *reg)
        return container_of(reg, struct nouveau_mem, base);
 }
 
-int nouveau_mem_new(struct nouveau_cli *, u8 kind, u8 comp,
+int nouveau_mem_new(struct nouveau_drm *, u8 kind, u8 comp,
                    struct ttm_resource **);
 void nouveau_mem_del(struct ttm_resource_manager *man,
                     struct ttm_resource *);
index b14895f75b3c8ea979eea6443d27e1e51965e0f6..bd870028514b66b3c07d476e93935f5989d2941f 100644 (file)
@@ -43,7 +43,7 @@ nouveau_sgdma_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resou
                return ret;
 
        if (drm->client.device.info.family < NV_DEVICE_INFO_V0_TESLA) {
-               ret = nouveau_mem_map(mem, &mem->cli->vmm.vmm, &mem->vma[0]);
+               ret = nouveau_mem_map(mem, &drm->client.vmm.vmm, &mem->vma[0]);
                if (ret) {
                        nouveau_mem_fini(mem);
                        return ret;
index 53553819bcac982003d42d9b729e15015fff32da..e244927eb5d4d20997caf5776b49f482a2b2f3d2 100644 (file)
@@ -73,7 +73,7 @@ nouveau_vram_manager_new(struct ttm_resource_manager *man,
        if (drm->client.device.info.ram_size == 0)
                return -ENOMEM;
 
-       ret = nouveau_mem_new(&drm->master, nvbo->kind, nvbo->comp, res);
+       ret = nouveau_mem_new(drm, nvbo->kind, nvbo->comp, res);
        if (ret)
                return ret;
 
@@ -105,7 +105,7 @@ nouveau_gart_manager_new(struct ttm_resource_manager *man,
        struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
        int ret;
 
-       ret = nouveau_mem_new(&drm->master, nvbo->kind, nvbo->comp, res);
+       ret = nouveau_mem_new(drm, nvbo->kind, nvbo->comp, res);
        if (ret)
                return ret;
 
@@ -132,13 +132,13 @@ nv04_gart_manager_new(struct ttm_resource_manager *man,
        struct nouveau_mem *mem;
        int ret;
 
-       ret = nouveau_mem_new(&drm->master, nvbo->kind, nvbo->comp, res);
+       ret = nouveau_mem_new(drm, nvbo->kind, nvbo->comp, res);
        if (ret)
                return ret;
 
        mem = nouveau_mem(*res);
        ttm_resource_init(bo, place, *res);
-       ret = nvif_vmm_get(&mem->cli->vmm.vmm, PTES, false, 12, 0,
+       ret = nvif_vmm_get(&drm->client.vmm.vmm, PTES, false, 12, 0,
                           (long)(*res)->size, &mem->vma[0]);
        if (ret) {
                nouveau_mem_del(man, *res);