Lines Matching refs:device
33 radv_spm_init_bo(struct radv_device *device)
35 struct radeon_winsys *ws = device->ws;
40 device->spm_trace.buffer_size = size;
41 device->spm_trace.sample_interval = sample_interval;
48 device->spm_trace.bo = bo;
52 result = ws->buffer_make_resident(ws, device->spm_trace.bo, true);
56 device->spm_trace.ptr = ws->buffer_map(device->spm_trace.bo);
57 if (!device->spm_trace.ptr)
64 radv_emit_spm_counters(struct radv_device *device, struct radeon_cmdbuf *cs)
66 struct ac_spm_trace_data *spm_trace = &device->spm_trace;
104 radv_emit_spm_setup(struct radv_device *device, struct radeon_cmdbuf *cs)
106 struct ac_spm_trace_data *spm_trace = &device->spm_trace;
183 radv_emit_spm_counters(device, cs);
187 radv_spm_init(struct radv_device *device)
189 const struct radeon_info *info = &device->physical_device->rad_info;
190 struct ac_perfcounters *pc = &device->physical_device->ac_perfcounters;
210 if (!ac_init_spm(info, pc, ARRAY_SIZE(spm_counters), spm_counters, &device->spm_trace))
213 if (!radv_spm_init_bo(device))
220 radv_spm_finish(struct radv_device *device)
222 struct radeon_winsys *ws = device->ws;
224 if (device->spm_trace.bo) {
225 ws->buffer_make_resident(ws, device->spm_trace.bo, false);
226 ws->buffer_destroy(ws, device->spm_trace.bo);
229 ac_destroy_spm(&device->spm_trace);