drm/amdgpu: Disable verbose for p2p dist calc
authorLijo Lazar <lijo.lazar@amd.com>
Wed, 21 Sep 2022 12:07:37 +0000 (17:37 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 29 Sep 2022 13:41:42 +0000 (09:41 -0400)
Disable verbose while getting p2p distance. With verbose, it shows
warning if ACS redirect is set between the devices. Adds noise
to dmesg logs when a few GPU devices are on the same platform.

Example log:

amdgpu 0000:34:00.0: ACS redirect is set between the client and provider (0000:31:00.0)
amdgpu 0000:34:00.0: to disable ACS redirect for this path, add the kernel parameter:
pci=disable_acs_redir=0000:30:00.0;0000:2e:00.0;0000:33:00.0;0000:2e:10.0

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c

index c04ea7f1e819b12efddf5dd978d08edca7b9005a..f600f3a3fe50ba900f1ab364f895097cf351d321 100644 (file)
@@ -5578,7 +5578,7 @@ bool amdgpu_device_is_peer_accessible(struct amdgpu_device *adev,
                adev->gmc.aper_base + adev->gmc.aper_size - 1;
        bool p2p_access = !adev->gmc.xgmi.connected_to_cpu &&
                          !(pci_p2pdma_distance_many(adev->pdev,
-                                       &peer_adev->dev, 1, true) < 0);
+                                       &peer_adev->dev, 1, false) < 0);
 
        return pcie_p2p && p2p_access && (adev->gmc.visible_vram_size &&
                adev->gmc.real_vram_size == adev->gmc.visible_vram_size &&
index 782cbca37538fd1d99b4d6dfd4d7ca812523ebb3..9e2a4c552a4a3342b52f406dedd9917420167cad 100644 (file)
@@ -58,7 +58,7 @@ static int amdgpu_dma_buf_attach(struct dma_buf *dmabuf,
        struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
        int r;
 
-       if (pci_p2pdma_distance_many(adev->pdev, &attach->dev, 1, true) < 0)
+       if (pci_p2pdma_distance_many(adev->pdev, &attach->dev, 1, false) < 0)
                attach->peer2peer = false;
 
        r = pm_runtime_get_sync(adev_to_drm(adev)->dev);