Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: Enable devcoredump for JPEG3_0_0

Add register list and enable devcoredump for JPEG3_0_0

V2: (Lijo)
- remove version specific callbacks and use simplified helper functions

V3: (Lijo)
- move amdgpu_jpeg_reg_dump_fini() to sw_fini() and avoid the call here

Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Sathishkumar S and committed by
Alex Deucher
d949e91b 2b0ccf39

+22
+22
drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
··· 34 34 35 35 #define mmUVD_JPEG_PITCH_INTERNAL_OFFSET 0x401f 36 36 37 + static const struct amdgpu_hwip_reg_entry jpeg_reg_list_3_0[] = { 38 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_POWER_STATUS), 39 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_INT_STAT), 40 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_RPTR), 41 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_WPTR), 42 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_CNTL), 43 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_SIZE), 44 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_STATUS), 45 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_ADDR_MODE), 46 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_GFX10_ADDR_CONFIG), 47 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_Y_GFX10_TILING_SURFACE), 48 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_UV_GFX10_TILING_SURFACE), 49 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_PITCH), 50 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_UV_PITCH), 51 + }; 52 + 37 53 static void jpeg_v3_0_set_dec_ring_funcs(struct amdgpu_device *adev); 38 54 static void jpeg_v3_0_set_irq_funcs(struct amdgpu_device *adev); 39 55 static int jpeg_v3_0_set_powergating_state(struct amdgpu_ip_block *ip_block, ··· 127 111 128 112 adev->jpeg.internal.jpeg_pitch[0] = mmUVD_JPEG_PITCH_INTERNAL_OFFSET; 129 113 adev->jpeg.inst->external.jpeg_pitch[0] = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JPEG_PITCH); 114 + 115 + r = amdgpu_jpeg_reg_dump_init(adev, jpeg_reg_list_3_0, ARRAY_SIZE(jpeg_reg_list_3_0)); 116 + if (r) 117 + return r; 130 118 131 119 return 0; 132 120 } ··· 563 543 .wait_for_idle = jpeg_v3_0_wait_for_idle, 564 544 .set_clockgating_state = jpeg_v3_0_set_clockgating_state, 565 545 .set_powergating_state = jpeg_v3_0_set_powergating_state, 546 + .dump_ip_state = amdgpu_jpeg_dump_ip_state, 547 + .print_ip_state = amdgpu_jpeg_print_ip_state, 566 548 }; 567 549 568 550 static const struct amdgpu_ring_funcs jpeg_v3_0_dec_ring_vm_funcs = {