drm/nouveau/fifo: remove rd32/wr32 accessors from channels
authorBen Skeggs <bskeggs@redhat.com>
Wed, 1 Jun 2022 10:46:04 +0000 (20:46 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 13 Jul 2022 03:56:42 +0000 (13:56 +1000)
No need for these, we always map USERD to the client.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c

index 4d1a3bd..1509991 100644 (file)
@@ -26,7 +26,6 @@ struct nvkm_fifo_chan {
        struct nvkm_gpuobj *inst;
        struct nvkm_gpuobj *push;
        struct nvkm_vmm *vmm;
-       void __iomem *user;
        u64 addr;
        u32 size;
 
index ea77691..48dea5d 100644 (file)
@@ -385,7 +385,9 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart)
        struct nv_dma_v0 args = {};
        int ret, i;
 
-       nvif_object_map(&chan->user, NULL, 0);
+       ret = nvif_object_map(&chan->user, NULL, 0);
+       if (ret)
+               return ret;
 
        if (chan->user.oclass >= FERMI_CHANNEL_GPFIFO &&
            chan->user.oclass < AMPERE_CHANNEL_GPFIFO_B) {
index 4ddaa91..2e7f32c 100644 (file)
@@ -272,36 +272,6 @@ nvkm_fifo_chan_map(struct nvkm_object *object, void *argv, u32 argc,
 }
 
 static int
-nvkm_fifo_chan_rd32(struct nvkm_object *object, u64 addr, u32 *data)
-{
-       struct nvkm_fifo_chan *chan = nvkm_fifo_chan(object);
-       if (unlikely(!chan->user)) {
-               chan->user = ioremap(chan->addr, chan->size);
-               if (!chan->user)
-                       return -ENOMEM;
-       }
-       if (unlikely(addr + 4 > chan->size))
-               return -EINVAL;
-       *data = ioread32_native(chan->user + addr);
-       return 0;
-}
-
-static int
-nvkm_fifo_chan_wr32(struct nvkm_object *object, u64 addr, u32 data)
-{
-       struct nvkm_fifo_chan *chan = nvkm_fifo_chan(object);
-       if (unlikely(!chan->user)) {
-               chan->user = ioremap(chan->addr, chan->size);
-               if (!chan->user)
-                       return -ENOMEM;
-       }
-       if (unlikely(addr + 4 > chan->size))
-               return -EINVAL;
-       iowrite32_native(data, chan->user + addr);
-       return 0;
-}
-
-static int
 nvkm_fifo_chan_fini(struct nvkm_object *object, bool suspend)
 {
        struct nvkm_fifo_chan *chan = nvkm_fifo_chan(object);
@@ -332,9 +302,6 @@ nvkm_fifo_chan_dtor(struct nvkm_object *object)
        }
        spin_unlock_irqrestore(&fifo->lock, flags);
 
-       if (chan->user)
-               iounmap(chan->user);
-
        if (chan->vmm) {
                nvkm_vmm_part(chan->vmm, chan->inst->memory);
                nvkm_vmm_unref(&chan->vmm);
@@ -352,8 +319,6 @@ nvkm_fifo_chan_func = {
        .fini = nvkm_fifo_chan_fini,
        .ntfy = nvkm_fifo_chan_ntfy,
        .map = nvkm_fifo_chan_map,
-       .rd32 = nvkm_fifo_chan_rd32,
-       .wr32 = nvkm_fifo_chan_wr32,
        .sclass = nvkm_fifo_chan_child_get,
 };