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 struct nvkm_device_oclass user; 18 }; 19 20 struct nvkm_fault_data { 21 u64 addr; 22 u64 inst; 23 u64 time; 24 u8 engine; 25 u8 valid; 26 u8 gpc; 27 u8 hub; 28 u8 access; 29 u8 client; 30 u8 reason; 31 }; 32 33 int gp100_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **); 34 int gp10b_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **); 35 int gv100_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **); 36 int tu102_fault_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fault **); 37 #endif 38