diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1325-drm-amdkfd-Remove-kfd_get_gpu_id.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1325-drm-amdkfd-Remove-kfd_get_gpu_id.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1325-drm-amdkfd-Remove-kfd_get_gpu_id.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/1325-drm-amdkfd-Remove-kfd_get_gpu_id.patch new file mode 100644 index 00000000..ca5f31ab --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/1325-drm-amdkfd-Remove-kfd_get_gpu_id.patch @@ -0,0 +1,87 @@ +From 424a179ff276e00447a26a5023f94cfa7a045bf9 Mon Sep 17 00:00:00 2001 +From: Felix Kuehling <Felix.Kuehling@amd.com> +Date: Mon, 31 Jul 2017 16:03:59 -0400 +Subject: [PATCH 1325/4131] drm/amdkfd: Remove kfd_get_gpu_id + +The GPU ID is available in dev->id. No need for a linear search +through the topology device list. + +Change-Id: I64b4cf9d7a82be793ffb4694287bad9b03d1ef3e +Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1 - + drivers/gpu/drm/amd/amdkfd/kfd_process.c | 2 +- + drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 18 ------------------ + 4 files changed, 2 insertions(+), 21 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +index 8f47d4d..e22dde3 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +@@ -1599,7 +1599,7 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep, + r = -EINVAL; + goto exit; + } +- args->gpu_id = kfd_get_gpu_id(dev); ++ args->gpu_id = dev->id; + args->flags = flags; + + /* Copy metadata buffer to user mode */ +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +index fe0f482..39a1977 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +@@ -850,7 +850,6 @@ struct kfd_topology_device *topology_device_by_nodeid(uint32_t node_id); + struct kfd_dev *kfd_device_by_id(uint32_t gpu_id); + struct kfd_dev *kfd_device_by_pci_dev(const struct pci_dev *pdev); + struct kfd_dev *kfd_device_by_kgd(const struct kgd_dev *kgd); +-uint32_t kfd_get_gpu_id(struct kfd_dev *dev); + int kfd_topology_enum_kfd_devices(uint8_t idx, struct kfd_dev **kdev); + int kfd_numa_node_to_apic_id(int numa_node_id); + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c +index baf1f75..a1cad551 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c +@@ -541,7 +541,7 @@ static int kfd_process_init_cwsr(struct kfd_process *p, struct file *filep) + */ + return ret; + } else { +- offset = (kfd_get_gpu_id(dev) | ++ offset = (dev->id | + KFD_MMAP_TYPE_RESERVED_MEM) << PAGE_SHIFT; + qpd->tba_addr = (uint64_t)vm_mmap(filep, 0, + dev->cwsr_size, PROT_READ | PROT_EXEC, +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +index 402c2bc..b544ca5 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +@@ -79,24 +79,6 @@ struct kfd_dev *kfd_device_by_id(uint32_t gpu_id) + return device; + } + +-uint32_t kfd_get_gpu_id(struct kfd_dev *dev) +-{ +- struct kfd_topology_device *top_dev; +- uint32_t gpu_id = 0; +- +- down_read(&topology_lock); +- +- list_for_each_entry(top_dev, &topology_device_list, list) +- if (top_dev->gpu == dev) { +- gpu_id = top_dev->gpu_id; +- break; +- } +- +- up_read(&topology_lock); +- +- return gpu_id; +-} +- + struct kfd_dev *kfd_device_by_pci_dev(const struct pci_dev *pdev) + { + struct kfd_topology_device *top_dev; +-- +2.7.4 + |