]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/nouveau: pass drm to nv50_dmac_create(), rather than device+disp
authorBen Skeggs <bskeggs@nvidia.com>
Fri, 26 Jul 2024 04:38:21 +0000 (14:38 +1000)
committerDanilo Krummrich <dakr@kernel.org>
Sat, 27 Jul 2024 01:05:42 +0000 (03:05 +0200)
Both of these are stored in nouveau_drm already.

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-31-bskeggs@nvidia.com
drivers/gpu/drm/nouveau/dispnv50/base507c.c
drivers/gpu/drm/nouveau/dispnv50/core507d.c
drivers/gpu/drm/nouveau/dispnv50/disp.c
drivers/gpu/drm/nouveau/dispnv50/disp.h
drivers/gpu/drm/nouveau/dispnv50/ovly507e.c
drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c
drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c

index 70c62b8612769ffe42c8aef19cc32f420326074f..e36a473f2075762d14d997decb4810b1bb4f3d42 100644 (file)
@@ -307,7 +307,6 @@ base507c_new_(const struct nv50_wndw_func *func, const u32 *format,
        struct nvif_disp_chan_v0 args = {
                .id = head,
        };
-       struct nouveau_display *disp = nouveau_display(drm->dev);
        struct nv50_disp *disp50 = nv50_disp(drm->dev);
        struct nv50_wndw *wndw;
        int ret;
@@ -318,7 +317,7 @@ base507c_new_(const struct nv50_wndw_func *func, const u32 *format,
        if (*pwndw = wndw, ret)
                return ret;
 
-       ret = nv50_dmac_create(&drm->client.device, &disp->disp.object,
+       ret = nv50_dmac_create(drm,
                               &oclass, head, &args, sizeof(args),
                               disp50->sync->offset, &wndw->wndw);
        if (ret) {
index e5bb5ca950c886abd788582bc6351916dce425dd..85845e3dc7ba0c1121f746c96bfb3c4e42ce347e 100644 (file)
@@ -166,7 +166,7 @@ core507d_new_(const struct nv50_core_func *func, struct nouveau_drm *drm,
                return -ENOMEM;
        core->func = func;
 
-       ret = nv50_dmac_create(&drm->client.device, &disp->disp->object,
+       ret = nv50_dmac_create(drm,
                               &oclass, 0, &args, sizeof(args),
                               disp->sync->offset, &core->chan);
        if (ret) {
index cfdd533482f8163d5fa75311e8fa0d48500be0a2..242887ab4ba0db095d4e1a3782cf499b1559df70 100644 (file)
@@ -229,11 +229,12 @@ static int nv50_dmac_vram_pushbuf = -1;
 module_param_named(kms_vram_pushbuf, nv50_dmac_vram_pushbuf, int, 0400);
 
 int
-nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp,
+nv50_dmac_create(struct nouveau_drm *drm,
                 const s32 *oclass, u8 head, void *data, u32 size, s64 syncbuf,
                 struct nv50_dmac *dmac)
 {
-       struct nouveau_cli *cli = (void *)device->object.client;
+       struct nvif_device *device = &drm->device;
+       struct nvif_object *disp = &drm->display->disp.object;
        struct nvif_disp_chan_v0 *args = data;
        u8 type = NVIF_MEM_COHERENT;
        int ret;
@@ -253,8 +254,7 @@ nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp,
            (nv50_dmac_vram_pushbuf < 0 && device->info.family == NV_DEVICE_INFO_V0_PASCAL))
                type |= NVIF_MEM_VRAM;
 
-       ret = nvif_mem_ctor_map(&cli->mmu, "kmsChanPush", type, 0x1000,
-                               &dmac->_push.mem);
+       ret = nvif_mem_ctor_map(&drm->mmu, "kmsChanPush", type, 0x1000, &dmac->_push.mem);
        if (ret)
                return ret;
 
index 5508a7cfd492484e3130223985a5dbf7fbb6beb3..da3add95f354717309c0269859ff8039e3ec483c 100644 (file)
@@ -95,7 +95,7 @@ struct nv50_outp_atom {
        } set, clr;
 };
 
-int nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp,
+int nv50_dmac_create(struct nouveau_drm *,
                     const s32 *oclass, u8 head, void *data, u32 size,
                     s64 syncbuf, struct nv50_dmac *dmac);
 void nv50_dmac_destroy(struct nv50_dmac *);
index 797c1e4e0eaa35f01a474ec3d8a65b18fe6eddcd..73fcfb27c32cf125b124b9b24e52b96ef64f8c6a 100644 (file)
@@ -159,7 +159,7 @@ ovly507e_new_(const struct nv50_wndw_func *func, const u32 *format,
        if (*pwndw = wndw, ret)
                return ret;
 
-       ret = nv50_dmac_create(&drm->client.device, &disp->disp->object,
+       ret = nv50_dmac_create(drm,
                               &oclass, 0, &args, sizeof(args),
                               disp->sync->offset, &wndw->wndw);
        if (ret) {
index ee76b091d4ef53d0890340abc4a2cc460a755373..8cb5b79bacbfc2c16d96909b6d3104a1ffc495a9 100644 (file)
@@ -71,10 +71,9 @@ wimmc37b_init_(const struct nv50_wimm_func *func, struct nouveau_drm *drm,
        struct nvif_disp_chan_v0 args = {
                .id = wndw->id,
        };
-       struct nv50_disp *disp = nv50_disp(drm->dev);
        int ret;
 
-       ret = nv50_dmac_create(&drm->client.device, &disp->disp->object,
+       ret = nv50_dmac_create(drm,
                               &oclass, 0, &args, sizeof(args), -1,
                               &wndw->wimm);
        if (ret) {
index b3deea5aca58d79f6803b9a66f5a78b057bf480f..caf40977f455896bba289d99e7e5b10f4f1650a3 100644 (file)
@@ -363,7 +363,7 @@ wndwc37e_new_(const struct nv50_wndw_func *func, struct nouveau_drm *drm,
        if (*pwndw = wndw, ret)
                return ret;
 
-       ret = nv50_dmac_create(&drm->client.device, &disp->disp->object,
+       ret = nv50_dmac_create(drm,
                               &oclass, 0, &args, sizeof(args),
                               disp->sync->offset, &wndw->wndw);
        if (ret) {