[PATCH v3 30/37] drm/nouveau: pass drm to nv50_dmac_create(), rather than device+disp
Zhi Wang
zhiw at nvidia.com
Wed Jul 31 18:00:25 UTC 2024
On Fri, 26 Jul 2024 14:38:21 +1000
Ben Skeggs <bskeggs at nvidia.com> wrote:
Reviewed-by: Zhi Wang <zhiw at nvidia.com>
> Both of these are stored in nouveau_drm already.
>
> Signed-off-by: Ben Skeggs <bskeggs at nvidia.com>
> ---
> drivers/gpu/drm/nouveau/dispnv50/base507c.c | 3 +--
> drivers/gpu/drm/nouveau/dispnv50/core507d.c | 2 +-
> drivers/gpu/drm/nouveau/dispnv50/disp.c | 8 ++++----
> drivers/gpu/drm/nouveau/dispnv50/disp.h | 2 +-
> drivers/gpu/drm/nouveau/dispnv50/ovly507e.c | 2 +-
> drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c | 3 +--
> drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c | 2 +-
> 7 files changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/base507c.c
> b/drivers/gpu/drm/nouveau/dispnv50/base507c.c index
> 70c62b861276..e36a473f2075 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/base507c.c +++
> b/drivers/gpu/drm/nouveau/dispnv50/base507c.c @@ -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) {
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/core507d.c
> b/drivers/gpu/drm/nouveau/dispnv50/core507d.c index
> e5bb5ca950c8..85845e3dc7ba 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/core507d.c +++
> b/drivers/gpu/drm/nouveau/dispnv50/core507d.c @@ -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) {
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> b/drivers/gpu/drm/nouveau/dispnv50/disp.c index
> cfdd533482f8..242887ab4ba0 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/disp.c +++
> b/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -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;
>
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.h
> b/drivers/gpu/drm/nouveau/dispnv50/disp.h index
> 5508a7cfd492..da3add95f354 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/disp.h +++
> b/drivers/gpu/drm/nouveau/dispnv50/disp.h @@ -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 *);
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/ovly507e.c
> b/drivers/gpu/drm/nouveau/dispnv50/ovly507e.c index
> 797c1e4e0eaa..73fcfb27c32c 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/ovly507e.c +++
> b/drivers/gpu/drm/nouveau/dispnv50/ovly507e.c @@ -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) {
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c
> b/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c index
> ee76b091d4ef..8cb5b79bacbf 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c +++
> b/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c @@ -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) {
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c
> b/drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c index
> b3deea5aca58..caf40977f455 100644 ---
> a/drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c +++
> b/drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c @@ -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) {
More information about the Nouveau
mailing list