summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2022-06-01 20:47:32 +1000
committerBen Skeggs <bskeggs@redhat.com>2022-11-09 10:44:48 +1000
commit67059b9fb8997f3d4515d72052c331503b00274b (patch)
tree32713d8e17aab62d62c8282f3fe6b4108e213caf /drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
parent62742b5ef314c622ae9d848938223071ba360706 (diff)
drm/nouveau/fifo: add chan start()/stop()
- nvkm_chan_error() built on top, stops channel and sends 'killed' event - removes an odd double-bashing of channel enable regs on kepler and up - pokes doorbell on turing and up, after enabling channel Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
index a4cc7f07bb89..798fbd3b530c 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
@@ -20,6 +20,10 @@ struct nvkm_chan {
union { int id; int chid; }; /*FIXME: remove later */
+ spinlock_t lock;
+ atomic_t blocked;
+ atomic_t errored;
+
struct list_head cctxs;
struct nvkm_fifo *fifo;
@@ -62,9 +66,6 @@ struct nvkm_fifo {
struct list_head chan;
spinlock_t lock;
struct mutex mutex;
-
-#define NVKM_FIFO_EVENT_KILLED BIT(0)
- struct nvkm_event kevent; /* channel killed */
};
void nvkm_fifo_fault(struct nvkm_fifo *, struct nvkm_fault_data *);