summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2022-06-01 20:47:36 +1000
committerBen Skeggs <bskeggs@redhat.com>2022-11-09 10:44:49 +1000
commitfbe9f4337c1381710f17df0d74dd588d3d9784b2 (patch)
tree38da7b06be8d54e1a6707a99861371e8d2892ce1 /drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
parentd3e7a4392c82ec2d3c573cdc0fbcc843f3d76b12 (diff)
downloadlinux-fbe9f4337c1381710f17df0d74dd588d3d9784b2.tar.bz2
drm/nouveau/fifo: add USERD info to nvkm_chan_func
And use it to cleanup multiple implementations of almost the same thing. - prepares for non-polled / client-provided USERD - only zeroes relevant "registers", rather than entire USERD Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
index aeb24f838e3f..f4207100f20c 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
@@ -113,6 +113,13 @@ nv04_chan_start(struct nvkm_chan *chan)
spin_unlock_irqrestore(&fifo->lock, flags);
}
+const struct nvkm_chan_func_userd
+nv04_chan_userd = {
+ .bar = 0,
+ .base = 0x800000,
+ .size = 0x010000,
+};
+
const struct nvkm_chan_func_inst
nv04_chan_inst = {
.size = 0x1000,
@@ -121,6 +128,7 @@ nv04_chan_inst = {
static const struct nvkm_chan_func
nv04_chan = {
.inst = &nv04_chan_inst,
+ .userd = &nv04_chan_userd,
.start = nv04_chan_start,
.stop = nv04_chan_stop,
};