- transition from "ioctl" interface Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> --- drivers/gpu/drm/nouveau/include/nvif/driverif.h | 1 + drivers/gpu/drm/nouveau/nv04_fence.c | 7 +++++-- drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.c | 9 +++++++++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 1 - 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/include/nvif/driverif.h b/drivers/gpu/drm/nouveau/include/nvif/driverif.h index b25c91542e66..d8a30af9eae7 100644 --- a/drivers/gpu/drm/nouveau/include/nvif/driverif.h +++ b/drivers/gpu/drm/nouveau/include/nvif/driverif.h @@ -434,6 +434,7 @@ struct nvif_disp_impl { struct nvif_engobj_impl { void (*del)(struct nvif_engobj_priv *); + int (*mthd)(struct nvif_engobj_priv *, u32 mthd, void *argv, u32 argc); }; struct nvif_chan_impl { diff --git a/drivers/gpu/drm/nouveau/nv04_fence.c b/drivers/gpu/drm/nouveau/nv04_fence.c index 802a051428e2..45398b3a825e 100644 --- a/drivers/gpu/drm/nouveau/nv04_fence.c +++ b/drivers/gpu/drm/nouveau/nv04_fence.c @@ -59,8 +59,11 @@ static u32 nv04_fence_read(struct nouveau_channel *chan) { struct nv04_nvsw_get_ref_v0 args = {}; - WARN_ON(nvif_object_mthd(&chan->nvsw.object, NV04_NVSW_GET_REF, - &args, sizeof(args))); + int ret; + + ret = chan->nvsw.impl->mthd(chan->nvsw.priv, NV04_NVSW_GET_REF, &args, sizeof(args)); + WARN_ON(ret); + return args.ref; } diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.c index 6e5a0d980446..6682245e4928 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.c @@ -46,6 +46,14 @@ struct nvkm_uobj { int hash; }; +static int +nvkm_uchan_object_mthd(struct nvif_engobj_priv *priv, u32 mthd, void *argv, u32 argc) +{ + struct nvkm_uobj *uobj = (void *)priv; + + return nvkm_object_mthd(&uobj->oproxy.base, mthd, argv, argc); +} + static void nvkm_uchan_object_del(struct nvif_engobj_priv *priv) { @@ -59,6 +67,7 @@ nvkm_uchan_object_del(struct nvif_engobj_priv *priv) static const struct nvif_engobj_impl nvkm_uchan_object_impl = { .del = nvkm_uchan_object_del, + .mthd = nvkm_uchan_object_mthd, }; static int diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c index 986e8d547c94..8ecc53ff6487 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c @@ -230,7 +230,6 @@ gf100_fermi_mthd_zbc_depth(struct nvkm_object *object, void *data, u32 size) static int gf100_fermi_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size) { - nvif_ioctl(object, "fermi mthd %08x\n", mthd); switch (mthd) { case FERMI_A_ZBC_COLOR: return gf100_fermi_mthd_zbc_color(object, data, size); -- 2.41.0