Commit 7b09cf73 authored by Felix Kuehling's avatar Felix Kuehling Committed by Greg Kroah-Hartman

drm/amdkfd: Don't assign dGPUs to APU topology devices

[ Upstream commit bbdf514f ]

dGPUs need their own topology devices. Don't assign them to APU topology
devices with CPU cores.

Bug: 's avatarFelix Kuehling <>
Tested-by: 's avatarElias Konstantinidis <>
Acked-by: 's avatarAlex Deucher <>
Signed-off-by: 's avatarAlex Deucher <>
Signed-off-by: 's avatarSasha Levin <>
parent 9d719d77
......@@ -1074,8 +1074,6 @@ static uint32_t kfd_generate_gpu_id(struct kfd_dev *gpu)
* the GPU device is not already present in the topology device
* list then return NULL. This means a new topology device has to
* be created for this GPU.
* TODO: Rather than assiging @gpu to first topology device withtout
* gpu attached, it will better to have more stringent check.
static struct kfd_topology_device *kfd_assign_gpu(struct kfd_dev *gpu)
......@@ -1083,12 +1081,20 @@ static struct kfd_topology_device *kfd_assign_gpu(struct kfd_dev *gpu)
struct kfd_topology_device *out_dev = NULL;
list_for_each_entry(dev, &topology_device_list, list)
list_for_each_entry(dev, &topology_device_list, list) {
/* Discrete GPUs need their own topology device list
* entries. Don't assign them to CPU/APU nodes.
if (!gpu->device_info->needs_iommu_device &&
if (!dev->gpu && (dev->node_props.simd_count > 0)) {
dev->gpu = gpu;
out_dev = dev;
return out_dev;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment