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