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,
33
33
if (!ring || !ring -> funcs -> emit_wreg ) {
34
34
WREG32_NO_KIQ ((adev -> rmmio_remap .reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >> 2 ,
35
35
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
+ }
37
47
} else {
38
48
amdgpu_ring_emit_wreg (ring ,
39
49
(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