Lines Matching refs:buffer
34 struct nvkm_fault_buffer *buffer = fault->buffer[0]; in gv100_fault_buffer_process() local
36 struct nvkm_memory *mem = buffer->mem; in gv100_fault_buffer_process()
37 u32 get = nvkm_rd32(device, buffer->get); in gv100_fault_buffer_process()
38 u32 put = nvkm_rd32(device, buffer->put); in gv100_fault_buffer_process()
44 const u32 base = get * buffer->fault->func->buffer.entry_size; in gv100_fault_buffer_process()
55 if (++get == buffer->entries) in gv100_fault_buffer_process()
57 nvkm_wr32(device, buffer->get, get); in gv100_fault_buffer_process()
76 gv100_fault_buffer_intr(struct nvkm_fault_buffer *buffer, bool enable) in gv100_fault_buffer_intr() argument
78 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_intr()
79 const u32 intr = buffer->id ? 0x08000000 : 0x20000000; in gv100_fault_buffer_intr()
87 gv100_fault_buffer_fini(struct nvkm_fault_buffer *buffer) in gv100_fault_buffer_fini() argument
89 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_fini()
90 const u32 foff = buffer->id * 0x14; in gv100_fault_buffer_fini()
95 gv100_fault_buffer_init(struct nvkm_fault_buffer *buffer) in gv100_fault_buffer_init() argument
97 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_init()
98 const u32 foff = buffer->id * 0x14; in gv100_fault_buffer_init()
101 nvkm_wr32(device, 0x100e28 + foff, upper_32_bits(buffer->addr)); in gv100_fault_buffer_init()
102 nvkm_wr32(device, 0x100e24 + foff, lower_32_bits(buffer->addr)); in gv100_fault_buffer_init()
107 gv100_fault_buffer_info(struct nvkm_fault_buffer *buffer) in gv100_fault_buffer_info() argument
109 struct nvkm_device *device = buffer->fault->subdev.device; in gv100_fault_buffer_info()
110 const u32 foff = buffer->id * 0x14; in gv100_fault_buffer_info()
114 buffer->entries = nvkm_rd32(device, 0x100e34 + foff) & 0x000fffff; in gv100_fault_buffer_info()
115 buffer->get = 0x100e2c + foff; in gv100_fault_buffer_info()
116 buffer->put = 0x100e30 + foff; in gv100_fault_buffer_info()
168 if (fault->buffer[0]) { in gv100_fault_intr()
175 if (fault->buffer[1]) { in gv100_fault_intr()
192 if (fault->buffer[0]) in gv100_fault_fini()
193 fault->func->buffer.fini(fault->buffer[0]); in gv100_fault_fini()
202 fault->func->buffer.init(fault->buffer[0]); in gv100_fault_init()
220 .buffer.nr = 2,
221 .buffer.entry_size = 32,
222 .buffer.info = gv100_fault_buffer_info,
223 .buffer.pin = gp100_fault_buffer_pin,
224 .buffer.init = gv100_fault_buffer_init,
225 .buffer.fini = gv100_fault_buffer_fini,
226 .buffer.intr = gv100_fault_buffer_intr,