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 @@ -33,7 +33,17 @@ static void hdp_v5_2_flush_hdp(struct amdgpu_device *adev,
3333 if (!ring || !ring -> funcs -> emit_wreg ) {
3434 WREG32_NO_KIQ ((adev -> rmmio_remap .reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >> 2 ,
3535 0 );
36- RREG32_NO_KIQ ((adev -> rmmio_remap .reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >> 2 );
36+ if (amdgpu_sriov_vf (adev )) {
37+ /* this is fine because SR_IOV doesn't remap the register */
38+ RREG32_NO_KIQ ((adev -> rmmio_remap .reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >> 2 );
39+ } else {
40+ /* We just need to read back a register to post the write.
41+ * Reading back the remapped register causes problems on
42+ * some platforms so just read back the memory size register.
43+ */
44+ if (adev -> nbio .funcs -> get_memsize )
45+ adev -> nbio .funcs -> get_memsize (adev );
46+ }
3747 } else {
3848 amdgpu_ring_emit_wreg (ring ,
3949 (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