#ifndef __NVKM_FAULT_PRIV_H__ #define __NVKM_FAULT_PRIV_H__ #define nvkm_fault_buffer(p) container_of((p), struct nvkm_fault_buffer, object) #define nvkm_fault(p) container_of((p), struct nvkm_fault, subdev) #include #include #include struct nvkm_fault_buffer { struct nvkm_object object; struct nvkm_fault *fault; int id; int entries; struct nvkm_memory *mem; struct nvkm_vma *vma; }; int nvkm_fault_new_(const struct nvkm_fault_func *, struct nvkm_device *, int index, struct nvkm_fault **); struct nvkm_fault_func { int (*oneinit)(struct nvkm_fault *); void (*init)(struct nvkm_fault *); void (*fini)(struct nvkm_fault *); void (*intr)(struct nvkm_fault *); struct { int nr; u32 entry_size; u32 (*entries)(struct nvkm_fault_buffer *); void (*init)(struct nvkm_fault_buffer *); void (*fini)(struct nvkm_fault_buffer *); } buffer; }; #endif