drm/amdkfd: Extend KFD device topology to surface peer-to-peer links
authorRamesh Errabolu <Ramesh.Errabolu@amd.com>
Thu, 26 May 2022 19:21:22 +0000 (14:21 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 8 Jun 2022 15:40:45 +0000 (11:40 -0400)
commit0f28cca87e9afc22280c44d378d2a6e249933977
tree4e6f4198c8b8188c596d518db5765aa7d3df202a
parentfeb54650bae25f2a2adfc493e3e254e7c27a3fba
drm/amdkfd: Extend KFD device topology to surface peer-to-peer links

Extend KFD device topology to surface peer-to-peer links among
GPU devices connected over PCIe or xGMI. Enabling HSA_AMD_P2P is
REQUIRED to surface peer-to-peer links.

Prior to this KFD did not expose to user mode any P2P links or
indirect links that go over two or more direct hops. Old versions
of the Thunk used to make up their own P2P and indirect links without
the information about peer-accessibility and chipset support available
to the kernel mode driver. In this patch we expose P2P links in a new
sysfs directory to provide more reliable P2P link information to user
mode.

Old versions of the Thunk will continue to work as before and ignore
the new directory. This avoids conflicts between P2P links exposed by
KFD and P2P links created by the Thunk itself. New versions of the Thunk
will use only the P2P links provided in the new p2p_links directory, if
it exists, or fall back to the old code path on older KFDs that don't
expose p2p_links.

Signed-off-by: Ramesh Errabolu <Ramesh.Errabolu@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_topology.c
drivers/gpu/drm/amd/amdkfd/kfd_topology.h