]> git.ipfire.org Git - people/ms/linux.git/commitdiff
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 4d1a3bd558fd9ee11563ef93b7e9fad0ba31c47f..15099913504d550bfc2a4e75393e5a723df2e8ec 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 ea7769135b0dcf0cd23aa43e4fb2f3fde31e41e7..48dea5d0c580fdd1fcec93ab10e15422ef5dae59 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 4ddaa91ad409bf6f33455ffe2d088f5040d14b16..2e7f32cebf2a1b1773387930e8dcd196c2112e5e 100644 (file)
@@ -271,36 +271,6 @@ nvkm_fifo_chan_map(struct nvkm_object *object, void *argv, u32 argc,
        return 0;
 }
 
-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)
 {
@@ -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,
 };