Lines Matching defs:device

67 radv_init_trace(struct radv_device *device)
69 struct radeon_winsys *ws = device->ws;
75 RADEON_FLAG_VA_UNCACHED, RADV_BO_PRIORITY_UPLOAD_BUFFER, 0, &device->trace_bo);
79 result = ws->buffer_make_resident(ws, device->trace_bo, true);
83 device->trace_id_ptr = ws->buffer_map(device->trace_bo);
84 if (!device->trace_id_ptr)
87 ac_vm_fault_occured(device->physical_device->rad_info.gfx_level, &device->dmesg_timestamp, NULL);
93 radv_finish_trace(struct radv_device *device)
95 struct radeon_winsys *ws = device->ws;
97 if (unlikely(device->trace_bo)) {
98 ws->buffer_make_resident(ws, device->trace_bo, false);
99 ws->buffer_destroy(ws, device->trace_bo);
104 radv_dump_trace(struct radv_device *device, struct radeon_cmdbuf *cs, FILE *f)
106 fprintf(f, "Trace ID: %x\n", *device->trace_id_ptr);
107 device->ws->cs_dump(cs, f, (const int *)device->trace_id_ptr, 2);
111 radv_dump_mmapped_reg(struct radv_device *device, FILE *f, unsigned offset)
113 struct radeon_winsys *ws = device->ws;
117 ac_dump_reg(f, device->physical_device->rad_info.gfx_level, offset, value, ~0);
121 radv_dump_debug_registers(struct radv_device *device, FILE *f)
123 struct radeon_info *info = &device->physical_device->rad_info;
126 radv_dump_mmapped_reg(device, f, R_008010_GRBM_STATUS);
128 radv_dump_mmapped_reg(device, f, R_008008_GRBM_STATUS2);
129 radv_dump_mmapped_reg(device, f, R_008014_GRBM_STATUS_SE0);
130 radv_dump_mmapped_reg(device, f, R_008018_GRBM_STATUS_SE1);
131 radv_dump_mmapped_reg(device, f, R_008038_GRBM_STATUS_SE2);
132 radv_dump_mmapped_reg(device, f, R_00803C_GRBM_STATUS_SE3);
133 radv_dump_mmapped_reg(device, f, R_00D034_SDMA0_STATUS_REG);
134 radv_dump_mmapped_reg(device, f, R_00D834_SDMA1_STATUS_REG);
136 radv_dump_mmapped_reg(device, f, R_000E50_SRBM_STATUS);
137 radv_dump_mmapped_reg(device, f, R_000E4C_SRBM_STATUS2);
138 radv_dump_mmapped_reg(device, f, R_000E54_SRBM_STATUS3);
140 radv_dump_mmapped_reg(device, f, R_008680_CP_STAT);
141 radv_dump_mmapped_reg(device, f, R_008674_CP_STALLED_STAT1);
142 radv_dump_mmapped_reg(device, f, R_008678_CP_STALLED_STAT2);
143 radv_dump_mmapped_reg(device, f, R_008670_CP_STALLED_STAT3);
144 radv_dump_mmapped_reg(device, f, R_008210_CP_CPC_STATUS);
145 radv_dump_mmapped_reg(device, f, R_008214_CP_CPC_BUSY_STAT);
146 radv_dump_mmapped_reg(device, f, R_008218_CP_CPC_STALLED_STAT1);
147 radv_dump_mmapped_reg(device, f, R_00821C_CP_CPF_STATUS);
148 radv_dump_mmapped_reg(device, f, R_008220_CP_CPF_BUSY_STAT);
149 radv_dump_mmapped_reg(device, f, R_008224_CP_CPF_STALLED_STAT1);
194 radv_dump_descriptor_set(struct radv_device *device, struct radv_descriptor_set *set, unsigned id,
197 enum amd_gfx_level gfx_level = device->physical_device->rad_info.gfx_level;
242 radv_dump_descriptors(struct radv_device *device, FILE *f)
244 uint64_t *ptr = (uint64_t *)device->trace_id_ptr;
251 radv_dump_descriptor_set(device, set, i, f);
372 enum amd_gfx_level gfx_level = pipeline->device->physical_device->rad_info.gfx_level;
445 fprintf(f, "%s IR:\n%s\n", pipeline->device->physical_device->use_llvm ? "LLVM" : "ACO",
449 radv_dump_shader_stats(pipeline->device, pipeline, stage, f);
468 void *ptr = (uint64_t *)pipeline->base.device->trace_id_ptr;
492 radv_get_saved_vs_prolog(struct radv_device *device)
494 uint64_t *ptr = (uint64_t *)device->trace_id_ptr;
501 struct radv_shader_part *vs_prolog = radv_get_saved_vs_prolog(pipeline->device);
512 radv_get_saved_pipeline(struct radv_device *device, enum amd_ip_type ring)
514 uint64_t *ptr = (uint64_t *)device->trace_id_ptr;
528 pipeline = radv_get_saved_pipeline(queue->device, ring);
541 if (!(queue->device->instance->debug_flags & RADV_DEBUG_NO_UMR))
544 radv_dump_descriptors(queue->device, f);
573 radv_dump_enabled_options(struct radv_device *device, FILE *f)
577 if (device->instance->debug_flags) {
580 mask = device->instance->debug_flags;
588 if (device->instance->perftest_flags) {
591 mask = device->instance->perftest_flags;
601 radv_dump_app_info(struct radv_device *device, FILE *f)
603 struct radv_instance *instance = device->instance;
613 radv_dump_enabled_options(device, f);
617 radv_dump_device_name(struct radv_device *device, FILE *f)
619 struct radeon_info *info = &device->physical_device->rad_info;
626 fprintf(f, "Device name: %s (DRM %i.%i.%i)\n\n", device->physical_device->marketing_name,
632 fprintf(f, "Device name: %s (DRM %i.%i.%i%s)\n\n", device->physical_device->marketing_name,
641 struct radv_device *device = queue->device;
649 device->physical_device->rad_info.gfx_level >= GFX10 ? "gfx_0.0.0" : "gfx");
659 struct radv_device *device = queue->device;
667 device->physical_device->rad_info.gfx_level >= GFX10 ? "gfx_0.0.0" : "gfx");
676 struct radeon_winsys *ws = queue->device->ws;
687 struct radv_device *device = queue->device;
695 if (queue->device->instance->debug_flags & RADV_DEBUG_VM_FAULTS)
696 vm_fault_occurred = ac_vm_fault_occured(device->physical_device->rad_info.gfx_level,
697 &device->dmesg_timestamp, &addr);
729 radv_dump_trace(queue->device, cs, f);
741 if (!(device->instance->debug_flags & RADV_DEBUG_NO_UMR)) {
763 radv_dump_debug_registers(device, f);
771 device->ws->dump_bo_ranges(device->ws, f);
779 device->ws->dump_bo_log(device->ws, f);
798 radv_dump_app_info(device, f);
806 radv_dump_device_name(device, f);
807 ac_print_gpu_info(&device->physical_device->rad_info, f);
851 radv_trap_handler_init(struct radv_device *device)
853 struct radeon_winsys *ws = device->ws;
857 device->trap_handler_shader = radv_create_trap_handler_shader(device);
858 if (!device->trap_handler_shader) {
863 result = ws->buffer_make_resident(ws, device->trap_handler_shader->alloc->arena->bo, true);
870 RADV_BO_PRIORITY_SCRATCH, 0, &device->tma_bo);
874 result = ws->buffer_make_resident(ws, device->tma_bo, true);
878 device->tma_ptr = ws->buffer_map(device->tma_bo);
879 if (!device->tma_ptr)
883 uint64_t tma_va = radv_buffer_get_va(device->tma_bo) + 16;
893 memcpy(device->tma_ptr, desc, sizeof(desc));
899 radv_trap_handler_finish(struct radv_device *device)
901 struct radeon_winsys *ws = device->ws;
903 if (unlikely(device->trap_handler_shader)) {
904 ws->buffer_make_resident(ws, device->trap_handler_shader->alloc->arena->bo, false);
905 radv_trap_handler_shader_destroy(device, device->trap_handler_shader);
908 if (unlikely(device->tma_bo)) {
909 ws->buffer_make_resident(ws, device->tma_bo, false);
910 ws->buffer_destroy(ws, device->tma_bo);
915 radv_dump_faulty_shader(struct radv_device *device, uint64_t faulty_pc)
921 shader = radv_find_shader(device, faulty_pc);
968 radv_dump_sq_hw_regs(struct radv_device *device)
970 struct radv_sq_hw_reg *regs = (struct radv_sq_hw_reg *)&device->tma_ptr[6];
973 if (device->physical_device->rad_info.gfx_level >= GFX10) {
974 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_000408_SQ_WAVE_STATUS,
976 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_00040C_SQ_WAVE_TRAPSTS,
978 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_00045C_SQ_WAVE_HW_ID1,
980 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_00041C_SQ_WAVE_IB_STS,
983 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_000048_SQ_WAVE_STATUS,
985 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_00004C_SQ_WAVE_TRAPSTS,
987 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_000050_SQ_WAVE_HW_ID,
989 ac_dump_reg(stderr, device->physical_device->rad_info.gfx_level, R_00005C_SQ_WAVE_IB_STS,
999 struct radv_device *device = queue->device;
1000 struct radeon_winsys *ws = device->ws;
1009 if (!device->tma_ptr[4])
1015 fprintf(stderr, "tma_ptr[%d]=0x%x\n", i, device->tma_ptr[i]);
1018 radv_dump_sq_hw_regs(device);
1020 uint32_t ttmp0 = device->tma_ptr[4];
1021 uint32_t ttmp1 = device->tma_ptr[5];
1038 radv_dump_faulty_shader(device, pc);