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: Don't enable sdma 4.4.5 CTXEMPTY interrupt

The sdma context empty interrupt is dropped in amdgpu_irq_dispatch
as unregistered interrupt src_id 243, this interrupt accounts to 1/3 of
total interrupts and causes IH primary ring overflow when running
stressful benchmark application. Disable this interrupt has no side
effect found.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Philip Yang and committed by
Alex Deucher
b4b7271e 34c4eb7d

+5 -3
+5 -3
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
··· 973 973 /* set utc l1 enable flag always to 1 */ 974 974 temp = RREG32_SDMA(i, regSDMA_CNTL); 975 975 temp = REG_SET_FIELD(temp, SDMA_CNTL, UTC_L1_ENABLE, 1); 976 - /* enable context empty interrupt during initialization */ 977 - temp = REG_SET_FIELD(temp, SDMA_CNTL, CTXEMPTY_INT_ENABLE, 1); 978 - WREG32_SDMA(i, regSDMA_CNTL, temp); 979 976 977 + if (amdgpu_ip_version(adev, SDMA0_HWIP, 0) < IP_VERSION(4, 4, 5)) { 978 + /* enable context empty interrupt during initialization */ 979 + temp = REG_SET_FIELD(temp, SDMA_CNTL, CTXEMPTY_INT_ENABLE, 1); 980 + WREG32_SDMA(i, regSDMA_CNTL, temp); 981 + } 980 982 if (!amdgpu_sriov_vf(adev)) { 981 983 if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) { 982 984 /* unhalt engine */