Am 21.09.22 um 14:30 schrieb Lijo Lazar:
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.la...@amd.com>

Reviewed-by: Christian König <christian.koe...@amd.com> for both patches.

---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c  | 2 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index c04ea7f1e819..f600f3a3fe50 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -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 &&
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
index 782cbca37538..9e2a4c552a4a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
@@ -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);

Reply via email to