AMD General Shouldn't amdgpu_xgmi_get_relative_phy_addr only be invoked on multi-socket platforms?
I'm trying to understand why this function is needed even on single-socket platforms. Regards, Hawking -----Original Message----- From: amd-gfx <[email protected]> On Behalf Of Tao Zhou Sent: Friday, August 7, 2026 2:43 PM To: [email protected] Cc: Zhou1, Tao <[email protected]> Subject: [PATCH 1/2] drm/amdgpu: update xgmi_get_relative_phy_addr to cover single socket case 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
