diff options
author | Ben Skeggs | 2018-05-08 12:39:46 +0200 |
---|---|---|
committer | Ben Skeggs | 2018-05-18 07:01:21 +0200 |
commit | ddc669e25645b32158cc2b6da26faf5dac92fffc (patch) | |
tree | c50ed82263281a7028e3d76410e221545a1381df /drivers/gpu/drm/nouveau/include | |
parent | drm/nouveau/fifo/gk104-: accept engine contexts for CE3 and up (diff) | |
download | kernel-qcow2-linux-ddc669e25645b32158cc2b6da26faf5dac92fffc.tar.gz kernel-qcow2-linux-ddc669e25645b32158cc2b6da26faf5dac92fffc.tar.xz kernel-qcow2-linux-ddc669e25645b32158cc2b6da26faf5dac92fffc.zip |
drm/nouveau/fifo/gk104-: allow fault recovery code to be called by other subdevs
This will be required to support Volta.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include')
-rw-r--r-- | drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h index c17b3a9bf8fb..0d96edee1e6a 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h @@ -4,6 +4,7 @@ #include <core/engine.h> #include <core/object.h> #include <core/event.h> +struct nvkm_fault_data; #define NVKM_FIFO_CHID_NR 4096 @@ -45,6 +46,7 @@ struct nvkm_fifo { struct nvkm_event kevent; /* channel killed */ }; +void nvkm_fifo_fault(struct nvkm_fifo *, struct nvkm_fault_data *); void nvkm_fifo_pause(struct nvkm_fifo *, unsigned long *); void nvkm_fifo_start(struct nvkm_fifo *, unsigned long *); diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h index 8ca66e572779..8e9bc30fe65d 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h @@ -12,5 +12,18 @@ struct nvkm_fault { struct nvkm_event event; }; +struct nvkm_fault_data { + u64 addr; + u64 inst; + u64 time; + u8 engine; + u8 valid; + u8 gpc; + u8 hub; + u8 access; + u8 client; + u8 reason; +}; + int gp100_fault_new(struct nvkm_device *, int, struct nvkm_fault **); #endif |