From: Yifan Zha <yifan....@amd.com>

[Why]
vm_l2_bank_select_reserved_cid2 is a PF_only register
that cannot be programmed by VF. This feature is only
support HDP using GPUVM page tables to access FB memory
which should be disabled on SRIOV.

[How]
Disable the feature on VF.

Signed-off-by: Yifan Zha <yifan....@amd.com>
Signed-off-by: Horace Chen <horace.c...@amd.com>
Reviewed-by: Hawking Zhang <hawking.zh...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
index 497f52283a30..592729cb0f48 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
@@ -234,7 +234,8 @@ static void gmc_v11_0_flush_vm_hub(struct amdgpu_device 
*adev, uint32_t vmid,
 
        /* Issue additional private vm invalidation to MMHUB */
        if ((vmhub != AMDGPU_GFXHUB_0) &&
-           (hub->vm_l2_bank_select_reserved_cid2)) {
+           (hub->vm_l2_bank_select_reserved_cid2) &&
+               !amdgpu_sriov_vf(adev)) {
                inv_req = RREG32_NO_KIQ(hub->vm_l2_bank_select_reserved_cid2);
                /* bit 25: RSERVED_CACHE_PRIVATE_INVALIDATION */
                inv_req |= (1 << 25);
-- 
2.37.1

Reply via email to