]> 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)
commit81ce6b9e81d6ab5cc03a69458fb72c17d64277d8
treee24fe4939660016d49f55180cf455c49f7e43276
parent1e7b5a675df526b515f3e70bf336a7956fca562a
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