| .. | .. |
|---|
| 12 | 12 | struct nvkm_fault *fault; |
|---|
| 13 | 13 | int id; |
|---|
| 14 | 14 | int entries; |
|---|
| 15 | + u32 get; |
|---|
| 16 | + u32 put; |
|---|
| 15 | 17 | struct nvkm_memory *mem; |
|---|
| 16 | | - struct nvkm_vma *vma; |
|---|
| 18 | + u64 addr; |
|---|
| 17 | 19 | }; |
|---|
| 18 | 20 | |
|---|
| 19 | 21 | int nvkm_fault_new_(const struct nvkm_fault_func *, struct nvkm_device *, |
|---|
| .. | .. |
|---|
| 27 | 29 | struct { |
|---|
| 28 | 30 | int nr; |
|---|
| 29 | 31 | u32 entry_size; |
|---|
| 30 | | - u32 (*entries)(struct nvkm_fault_buffer *); |
|---|
| 32 | + void (*info)(struct nvkm_fault_buffer *); |
|---|
| 33 | + u64 (*pin)(struct nvkm_fault_buffer *); |
|---|
| 31 | 34 | void (*init)(struct nvkm_fault_buffer *); |
|---|
| 32 | 35 | void (*fini)(struct nvkm_fault_buffer *); |
|---|
| 36 | + void (*intr)(struct nvkm_fault_buffer *, bool enable); |
|---|
| 33 | 37 | } buffer; |
|---|
| 38 | + struct { |
|---|
| 39 | + struct nvkm_sclass base; |
|---|
| 40 | + int rp; |
|---|
| 41 | + } user; |
|---|
| 34 | 42 | }; |
|---|
| 43 | + |
|---|
| 44 | +void gp100_fault_buffer_intr(struct nvkm_fault_buffer *, bool enable); |
|---|
| 45 | +void gp100_fault_buffer_fini(struct nvkm_fault_buffer *); |
|---|
| 46 | +void gp100_fault_buffer_init(struct nvkm_fault_buffer *); |
|---|
| 47 | +u64 gp100_fault_buffer_pin(struct nvkm_fault_buffer *); |
|---|
| 48 | +void gp100_fault_buffer_info(struct nvkm_fault_buffer *); |
|---|
| 49 | +void gp100_fault_intr(struct nvkm_fault *); |
|---|
| 50 | + |
|---|
| 51 | +u64 gp10b_fault_buffer_pin(struct nvkm_fault_buffer *); |
|---|
| 52 | + |
|---|
| 53 | +int gv100_fault_oneinit(struct nvkm_fault *); |
|---|
| 54 | + |
|---|
| 55 | +int nvkm_ufault_new(struct nvkm_device *, const struct nvkm_oclass *, |
|---|
| 56 | + void *, u32, struct nvkm_object **); |
|---|
| 35 | 57 | #endif |
|---|