diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2022-06-01 20:47:21 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2022-11-09 10:44:46 +1000 |
commit | f5e4568991f60125712b03079bc037c6feb953f1 (patch) | |
tree | f42d26a9271ee5436e6478097ff09ded8ef33350 /drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c | |
parent | 8c18138c7633f7f9e609be6b11e48bb33a8dfb75 (diff) | |
download | linux-next-f5e4568991f60125712b03079bc037c6feb953f1.tar.gz |
drm/nouveau/fifo: unify handling of channel classes
Adds the basic skeleton for common channel (group) interfaces.
- common behaviour between <gk104 and >=gk104 impl's
- separates priv/user channel objects
- passthrough to existing object for now, kludges removed later
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/nv10.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c index 94ad6ee19297..f07304e4b8c5 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c @@ -21,10 +21,14 @@ * * Authors: Ben Skeggs */ +#include "chan.h" + #include "nv04.h" #include "channv04.h" #include "regsnv04.h" +#include <nvif/class.h> + static const struct nv04_fifo_ramfc nv10_fifo_ramfc[] = { { 32, 0, 0x00, 0, NV04_PFIFO_CACHE1_DMA_PUT }, @@ -39,6 +43,10 @@ nv10_fifo_ramfc[] = { {} }; +static const struct nvkm_chan_func +nv10_chan = { +}; + int nv10_fifo_chid_nr(struct nvkm_fifo *fifo) { @@ -54,10 +62,8 @@ nv10_fifo = { .id_engine = nv04_fifo_id_engine, .pause = nv04_fifo_pause, .start = nv04_fifo_start, - .chan = { - &nv10_fifo_dma_oclass, - NULL - }, + .cgrp = {{ }, &nv04_cgrp }, + .chan = {{ 0, 0, NV10_CHANNEL_DMA }, &nv10_chan, .oclass = &nv10_fifo_dma_oclass }, }; int |