]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Use AMDGPU_IS_GFXHUB to screen out GFXHUB for GMC v12.1
authorLe Ma <le.ma@amd.com>
Wed, 11 Jun 2025 12:35:50 +0000 (20:35 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Dec 2025 18:23:04 +0000 (13:23 -0500)
There're multiple gfxhubs on GMC v12.1

Signed-off-by: Le Ma <le.ma@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_v12_1.c

index c54d2d10a8cafe58493acef250b0004d616e93b0..e4b12b15bc943a680f26b27f17defa8f404cad8a 100644 (file)
@@ -255,7 +255,7 @@ static void gmc_v12_1_flush_vm_hub(struct amdgpu_device *adev, uint32_t vmid,
        unsigned int i;
        unsigned char hub_ip = 0;
 
-       hub_ip = (vmhub == AMDGPU_GFXHUB(0)) ?
+       hub_ip = (AMDGPU_IS_GFXHUB(vmhub)) ?
                   GC_HWIP : MMHUB_HWIP;
 
        spin_lock(&adev->gmc.invalidate_lock);
@@ -274,7 +274,7 @@ static void gmc_v12_1_flush_vm_hub(struct amdgpu_device *adev, uint32_t vmid,
        }
 
        /* Issue additional private vm invalidation to MMHUB */
-       if ((vmhub != AMDGPU_GFXHUB(0)) &&
+       if (!AMDGPU_IS_GFXHUB(vmhub) &&
            (hub->vm_l2_bank_select_reserved_cid2) &&
                !amdgpu_sriov_vf(adev)) {
                inv_req = RREG32_NO_KIQ(hub->vm_l2_bank_select_reserved_cid2);
@@ -307,7 +307,7 @@ static void gmc_v12_1_flush_vm_hub(struct amdgpu_device *adev, uint32_t vmid,
 static void gmc_v12_1_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid,
                                    uint32_t vmhub, uint32_t flush_type)
 {
-       if ((vmhub == AMDGPU_GFXHUB(0)) && !adev->gfx.is_poweron)
+       if (AMDGPU_IS_GFXHUB(vmhub) && !adev->gfx.is_poweron)
                return;
 
        /* This is necessary for SRIOV as well as for GFXOFF to function