aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
diff options
context:
space:
mode:
authorBen Skeggs <[email protected]>2018-12-11 14:50:02 +1000
committerBen Skeggs <[email protected]>2018-12-11 15:37:46 +1000
commit3968d6920bf3fef56eab1f21e71d135ef43e7b88 (patch)
tree83b9f01d3aa749cc4377cca48357858462a2544f /drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
parent809724560f3403c2bc15a40cbe4efd55764ae8e2 (diff)
drm/nouveau/fault: add explicit control over fault buffer interrupts
The GPU will continually fire interrupts while a fault buffer GET != PUT, and to stop the spurious interrupts while the handler does its thing, we were disabling the fault buffer temporarily. This is not actually a great idea to begin with, and made worse by Volta resetting GET/PUT when it's reactivated. So, let's not do that. Signed-off-by: Ben Skeggs <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
index 75587cafa0ce..4ba1e21e8fda 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
@@ -28,14 +28,14 @@ static void
nvkm_fault_ntfy_fini(struct nvkm_event *event, int type, int index)
{
struct nvkm_fault *fault = container_of(event, typeof(*fault), event);
- fault->func->buffer.fini(fault->buffer[index]);
+ fault->func->buffer.intr(fault->buffer[index], false);
}
static void
nvkm_fault_ntfy_init(struct nvkm_event *event, int type, int index)
{
struct nvkm_fault *fault = container_of(event, typeof(*fault), event);
- fault->func->buffer.init(fault->buffer[index]);
+ fault->func->buffer.intr(fault->buffer[index], true);
}
static int