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/nvkm/engine/fifo/base.c | |
parent | 62742b5ef314c622ae9d848938223071ba360706 (diff) | |
download | linux-stable-67059b9fb8997f3d4515d72052c331503b00274b.tar.gz linux-stable-67059b9fb8997f3d4515d72052c331503b00274b.tar.bz2 linux-stable-67059b9fb8997f3d4515d72052c331503b00274b.zip |
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/nvkm/engine/fifo/base.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c index e08d8d14a19a..549e4b1fcbe1 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c @@ -62,16 +62,6 @@ nvkm_fifo_fault(struct nvkm_fifo *fifo, struct nvkm_fault_data *info) return fifo->func->mmu_fault->recover(fifo, info); } -void -nvkm_fifo_kevent(struct nvkm_fifo *fifo, int chid) -{ - nvkm_event_ntfy(&fifo->kevent, chid, NVKM_FIFO_EVENT_KILLED); -} - -static const struct nvkm_event_func -nvkm_fifo_kevent_func = { -}; - static int nvkm_fifo_class_new(struct nvkm_device *device, const struct nvkm_oclass *oclass, void *argv, u32 argc, struct nvkm_object **pobject) @@ -293,7 +283,6 @@ nvkm_fifo_dtor(struct nvkm_engine *engine) if (fifo->func->dtor) data = fifo->func->dtor(fifo); - nvkm_event_fini(&fifo->kevent); nvkm_event_fini(&fifo->nonstall.event); mutex_destroy(&fifo->mutex); return data; @@ -343,5 +332,5 @@ nvkm_fifo_ctor(const struct nvkm_fifo_func *func, struct nvkm_device *device, return ret; } - return nvkm_event_init(&nvkm_fifo_kevent_func, &fifo->engine.subdev, 1, nr, &fifo->kevent); + return 0; } |