From 71b392fdf87eba112b468f3cd9206beebe5293e6 Mon Sep 17 00:00:00 2001 From: Shaoyun Liu Date: Mon, 13 Aug 2018 16:29:16 -0400 Subject: [PATCH] Thunk: Avoid add indirect link for the GPUS with xGMI link Change-Id: I06f511c55e28919512fda79b504566818dc2a5ab Signed-off-by: Shaoyun Liu [ROCm/ROCR-Runtime commit: 7796994f4691fde8cf002226f4dfc75120f140ad] --- projects/rocr-runtime/src/topology.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/projects/rocr-runtime/src/topology.c b/projects/rocr-runtime/src/topology.c index 0b04ad30bd..6afb03ab98 100644 --- a/projects/rocr-runtime/src/topology.c +++ b/projects/rocr-runtime/src/topology.c @@ -964,6 +964,8 @@ HSAKMT_STATUS topology_sysfs_get_node_props(uint32_t node_id, props->DrmRenderMinor = (int32_t)prop_val; else if (strcmp(prop_name, "sdma_fw_version") == 0) props->uCodeEngineVersions.Value = (uint32_t)prop_val & 0x3ff; + else if (strcmp(prop_name, "hive_id") == 0) + props->HiveID = prop_val; } hsa_gfxip = find_hsa_gfxip_device(props->DeviceId); @@ -1573,6 +1575,11 @@ static HSAKMT_STATUS get_indirect_iolink_info(uint32_t node1, uint32_t node2, if (!node_props[node1].gpu_id && !node_props[node2].gpu_id) return HSAKMT_STATUS_INVALID_NODE_UNIT; + if (node_props[node1].node.HiveID && + node_props[node2].node.HiveID && + node_props[node1].node.HiveID == node_props[node2].node.HiveID) + return HSAKMT_STATUS_INVALID_PARAMETER; + if (node_props[node1].gpu_id) dir_cpu1 = gpu_get_direct_link_cpu(node1, node_props); if (node_props[node2].gpu_id)