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 JPEG2_5_0

Add register list and enable devcoredump for JPEG2_5_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
8ecd4ec6 63d5f8db

+24
+24
drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c
··· 36 36 37 37 #define JPEG25_MAX_HW_INSTANCES_ARCTURUS 2 38 38 39 + static const struct amdgpu_hwip_reg_entry jpeg_reg_list_2_5[] = { 40 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_POWER_STATUS), 41 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_INT_STAT), 42 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_RPTR), 43 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_WPTR), 44 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_CNTL), 45 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_RB_SIZE), 46 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JRBC_STATUS), 47 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_ADDR_MODE), 48 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_GFX10_ADDR_CONFIG), 49 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_Y_GFX10_TILING_SURFACE), 50 + SOC15_REG_ENTRY_STR(JPEG, 0, mmJPEG_DEC_UV_GFX10_TILING_SURFACE), 51 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_PITCH), 52 + SOC15_REG_ENTRY_STR(JPEG, 0, mmUVD_JPEG_UV_PITCH), 53 + }; 54 + 39 55 static void jpeg_v2_5_set_dec_ring_funcs(struct amdgpu_device *adev); 40 56 static void jpeg_v2_5_set_irq_funcs(struct amdgpu_device *adev); 41 57 static int jpeg_v2_5_set_powergating_state(struct amdgpu_ip_block *ip_block, ··· 160 144 } 161 145 162 146 r = amdgpu_jpeg_ras_sw_init(adev); 147 + if (r) 148 + return r; 149 + 150 + r = amdgpu_jpeg_reg_dump_init(adev, jpeg_reg_list_2_5, ARRAY_SIZE(jpeg_reg_list_2_5)); 163 151 if (r) 164 152 return r; 165 153 ··· 643 623 .wait_for_idle = jpeg_v2_5_wait_for_idle, 644 624 .set_clockgating_state = jpeg_v2_5_set_clockgating_state, 645 625 .set_powergating_state = jpeg_v2_5_set_powergating_state, 626 + .dump_ip_state = amdgpu_jpeg_dump_ip_state, 627 + .print_ip_state = amdgpu_jpeg_print_ip_state, 646 628 }; 647 629 648 630 static const struct amd_ip_funcs jpeg_v2_6_ip_funcs = { ··· 660 638 .wait_for_idle = jpeg_v2_5_wait_for_idle, 661 639 .set_clockgating_state = jpeg_v2_5_set_clockgating_state, 662 640 .set_powergating_state = jpeg_v2_5_set_powergating_state, 641 + .dump_ip_state = amdgpu_jpeg_dump_ip_state, 642 + .print_ip_state = amdgpu_jpeg_print_ip_state, 663 643 }; 664 644 665 645 static const struct amdgpu_ring_funcs jpeg_v2_5_dec_ring_vm_funcs = {