diff options
| author | Friedrich Vock <[email protected]> | 2024-01-23 11:52:03 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2024-01-31 22:39:47 +0000 |
| commit | 7330256268664ea0a7dd5b07a3fed363093477dd (patch) | |
| tree | 72e1db9a997df34a6375c4847516763b4bce8bb4 /drivers/gpu/drm/amd/amdgpu/si_ih.c | |
| parent | drm/amdgpu: remove asymmetrical irq disabling in vcn 4.0.5 suspend (diff) | |
| download | kernel-7330256268664ea0a7dd5b07a3fed363093477dd.tar.gz kernel-7330256268664ea0a7dd5b07a3fed363093477dd.zip | |
drm/amdgpu: Reset IH OVERFLOW_CLEAR bit
Allows us to detect subsequent IH ring buffer overflows as well.
Cc: Joshua Ashton <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: Christian König <[email protected]>
Cc: [email protected]
Signed-off-by: Friedrich Vock <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/si_ih.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/si_ih.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/si_ih.c b/drivers/gpu/drm/amd/amdgpu/si_ih.c index 9a24f17a5750..cada9f300a7f 100644 --- a/drivers/gpu/drm/amd/amdgpu/si_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/si_ih.c @@ -119,6 +119,12 @@ static u32 si_ih_get_wptr(struct amdgpu_device *adev, tmp = RREG32(IH_RB_CNTL); tmp |= IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK; WREG32(IH_RB_CNTL, tmp); + + /* Unset the CLEAR_OVERFLOW bit immediately so new overflows + * can be detected. + */ + tmp &= ~IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK; + WREG32(IH_RB_CNTL, tmp); } return (wptr & ih->ptr_mask); } |
