]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amdgpu: fix IH overflow on Vega10 v2
authorChristian König <christian.koenig@amd.com>
Fri, 14 Dec 2018 14:31:24 +0000 (15:31 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 14 Jan 2019 20:04:47 +0000 (15:04 -0500)
commit75014b19f003728227d5db3fa2959bfca2a715c7
treee24fe4939660016d49f55180cf455c49f7e43276
parentbc7a9cbe84b3ae5dad3d2bacae40c56d37ceec53
drm/amdgpu: fix IH overflow on Vega10 v2

When an ring buffer overflow happens the appropriate bit is set in the WPTR
register which is also written back to memory. But clearing the bit in the
WPTR doesn't trigger another memory writeback.

So what can happen is that we end up processing the buffer overflow over and
over again because the bit is never cleared. Resulting in a random system
lockup because of an infinite loop in an interrupt handler.

This is 100% reproducible on Vega10, but it's most likely an issue we have
in the driver over all generations all the way back to radeon.

v2: rebase

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vega10_ih.c