Skip to content

Commit b6f0f3e

Browse files
alexdeuchergregkh
authored andcommitted
drm/amdgpu/hdp5.2: use memcfg register to post the write for HDP flush
commit dbc988c upstream. Reading back the remapped HDP flush register seems to cause problems on some platforms. All we need is a read, so read back the memcfg register. Fixes: f756dba ("drm/amdgpu/hdp5.2: do a posting read when flushing HDP") Reported-by: Alexey Klimov <alexey.klimov@linaro.org> Link: https://lists.freedesktop.org/archives/amd-gfx/2025-April/123150.html Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4119 Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3908 Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit 4a89b76) Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 4872de4 commit b6f0f3e

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

drivers/gpu/drm/amd/amdgpu/hdp_v5_2.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,17 @@ static void hdp_v5_2_flush_hdp(struct amdgpu_device *adev,
3434
if (!ring || !ring->funcs->emit_wreg) {
3535
WREG32_NO_KIQ((adev->rmmio_remap.reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> 2,
3636
0);
37-
RREG32_NO_KIQ((adev->rmmio_remap.reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> 2);
37+
if (amdgpu_sriov_vf(adev)) {
38+
/* this is fine because SR_IOV doesn't remap the register */
39+
RREG32_NO_KIQ((adev->rmmio_remap.reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> 2);
40+
} else {
41+
/* We just need to read back a register to post the write.
42+
* Reading back the remapped register causes problems on
43+
* some platforms so just read back the memory size register.
44+
*/
45+
if (adev->nbio.funcs->get_memsize)
46+
adev->nbio.funcs->get_memsize(adev);
47+
}
3848
} else {
3949
amdgpu_ring_emit_wreg(ring,
4050
(adev->rmmio_remap.reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> 2,

0 commit comments

Comments
 (0)