File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
drivers/gpu/drm/amd/amdgpu Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff 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 ,
You can’t perform that action at this time.
0 commit comments