[PATCH 1/2] drm/amdgpu: update xgmi_get_relative_phy_addr to cover single socket case

Tao Zhou <[email protected]> Fri, 7 Aug 2026 14:43:29 +0800
Newsgroups org.freedesktop.lists.amd-gfx
Message-ID <[email protected]>
For single socket, the xgmi offset for memory address is 0.

Signed-off-by: Tao Zhou <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index c180c35e3622..9df32785f365 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -1249,7 +1249,11 @@ uint64_t amdgpu_xgmi_get_relative_phy_addr(struct amdgpu_device *adev,
 					   uint64_t addr)
 {
 	struct amdgpu_xgmi *xgmi = &adev->gmc.xgmi;
-	return (addr + xgmi->physical_node_id * xgmi->node_segment_size);
+
+	if (xgmi->num_physical_nodes > 1)
+		return (addr + xgmi->physical_node_id * xgmi->node_segment_size);
+	else
+		return addr;
 }
 
 static void pcs_clear_status(struct amdgpu_device *adev, uint32_t pcs_status_reg)
-- 
2.34.1