OSDN Git Service

drm/amdgpu: skip "Issue additional private vm invalidation to MMHUB" on SRIOV
authorYifan Zha <Yifan.Zha@amd.com>
Mon, 1 Aug 2022 03:11:20 +0000 (11:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 1 Sep 2022 19:11:40 +0000 (15:11 -0400)
[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.

Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Yifan Zha <Yifan.Zha@amd.com>
Signed-off-by: Horace Chen <horace.chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c

index 497f522..592729c 100644 (file)
@@ -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);