1 #ifndef __NVKM_FAULT_H__ 2 #define __NVKM_FAULT_H__ 3 #include <core/subdev.h> 4 #include <core/notify.h> 5 6 struct nvkm_fault { 7 const struct nvkm_fault_func *func; 8 struct nvkm_subdev subdev; 9 10 struct nvkm_fault_buffer *buffer[2]; 11 int buffer_nr; 12 13 struct nvkm_event event; 14 15 struct nvkm_notify nrpfb; 16 }; 17 18 struct nvkm_fault_data { 19 u64 addr; 20 u64 inst; 21 u64 time; 22 u8 engine; 23 u8 valid; 24 u8 gpc; 25 u8 hub; 26 u8 access; 27 u8 client; 28 u8 reason; 29 }; 30 31 int gp100_fault_new(struct nvkm_device *, int, struct nvkm_fault **); 32 int gv100_fault_new(struct nvkm_device *, int, struct nvkm_fault **); 33 int tu104_fault_new(struct nvkm_device *, int, struct nvkm_fault **); 34 #endif 35