diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2022-06-01 20:47:32 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2022-11-09 10:44:48 +1000 |
commit | 67059b9fb8997f3d4515d72052c331503b00274b (patch) | |
tree | 32713d8e17aab62d62c8282f3fe6b4108e213caf /drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | |
parent | 62742b5ef314c622ae9d848938223071ba360706 (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.h | 7 |
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 *); |