diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1267-drm-amdkfd-Disable-the-perf-counters-for-old-kernels.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1267-drm-amdkfd-Disable-the-perf-counters-for-old-kernels.patch | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1267-drm-amdkfd-Disable-the-perf-counters-for-old-kernels.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1267-drm-amdkfd-Disable-the-perf-counters-for-old-kernels.patch deleted file mode 100644 index 828514f5..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1267-drm-amdkfd-Disable-the-perf-counters-for-old-kernels.patch +++ /dev/null @@ -1,221 +0,0 @@ -From 1172044eb10d38e7560de34df8c6441d8fa3a52b Mon Sep 17 00:00:00 2001 -From: Yong Zhao <Yong.Zhao@amd.com> -Date: Fri, 28 Apr 2017 18:08:09 -0400 -Subject: [PATCH 1267/4131] drm/amdkfd: Disable the perf counters for old - kernels - -Because IOMMU functions are missing for old kernels such as 3.10 on -Redhat 7.3, we choose to disable the performance counter feature on -those kernels. - -Change-Id: Ie159d61a9b36cc38bd306b5e28fa5a3b83646d09 -Signed-off-by: Yong Zhao <Yong.Zhao@amd.com> ---- - drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 27 +++++++++++++++++++++++++-- - drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 8 ++++++++ - 2 files changed, 33 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c -index 603fcde9..82a3960 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c -@@ -139,7 +139,9 @@ static void kfd_release_topology_device(struct kfd_topology_device *dev) - struct kfd_mem_properties *mem; - struct kfd_cache_properties *cache; - struct kfd_iolink_properties *iolink; -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - struct kfd_perf_properties *perf; -+#endif - - BUG_ON(!dev); - -@@ -166,12 +168,14 @@ static void kfd_release_topology_device(struct kfd_topology_device *dev) - kfree(iolink); - } - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - while (dev->perf_props.next != &dev->perf_props) { - perf = container_of(dev->perf_props.next, - struct kfd_perf_properties, list); - list_del(&perf->list); - kfree(perf); - } -+#endif - - kfree(dev); - -@@ -206,7 +210,9 @@ struct kfd_topology_device *kfd_create_topology_device( - INIT_LIST_HEAD(&dev->mem_props); - INIT_LIST_HEAD(&dev->cache_props); - INIT_LIST_HEAD(&dev->io_link_props); -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - INIT_LIST_HEAD(&dev->perf_props); -+#endif - - list_add_tail(&dev->list, device_list); - sys_props.num_devices++; -@@ -373,6 +379,7 @@ static struct kobj_type cache_type = { - .sysfs_ops = &cache_ops, - }; - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - /****** Sysfs of Performance Counters ******/ - - struct kfd_perf_attr { -@@ -405,6 +412,7 @@ static struct kfd_perf_attr perf_attr_iommu[] = { - KFD_PERF_DESC(counter_ids, 0), - }; - /****************************************/ -+#endif - - static ssize_t node_show(struct kobject *kobj, struct attribute *attr, - char *buffer) -@@ -545,7 +553,9 @@ static void kfd_remove_sysfs_node_entry(struct kfd_topology_device *dev) - struct kfd_iolink_properties *iolink; - struct kfd_cache_properties *cache; - struct kfd_mem_properties *mem; -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - struct kfd_perf_properties *perf; -+#endif - - BUG_ON(!dev); - -@@ -584,6 +594,7 @@ static void kfd_remove_sysfs_node_entry(struct kfd_topology_device *dev) - dev->kobj_mem = NULL; - } - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - if (dev->kobj_perf) { - list_for_each_entry(perf, &dev->perf_props, list) { - kfree(perf->attr_group); -@@ -593,6 +604,7 @@ static void kfd_remove_sysfs_node_entry(struct kfd_topology_device *dev) - kobject_put(dev->kobj_perf); - dev->kobj_perf = NULL; - } -+#endif - - if (dev->kobj_node) { - sysfs_remove_file(dev->kobj_node, &dev->attr_gpuid); -@@ -610,10 +622,13 @@ static int kfd_build_sysfs_node_entry(struct kfd_topology_device *dev, - struct kfd_iolink_properties *iolink; - struct kfd_cache_properties *cache; - struct kfd_mem_properties *mem; -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - struct kfd_perf_properties *perf; -- int ret; -- uint32_t i, num_attrs; -+ uint32_t num_attrs; - struct attribute **attrs; -+#endif -+ int ret; -+ uint32_t i; - - BUG_ON(!dev); - -@@ -642,9 +657,11 @@ static int kfd_build_sysfs_node_entry(struct kfd_topology_device *dev, - if (!dev->kobj_iolink) - return -ENOMEM; - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - dev->kobj_perf = kobject_create_and_add("perf", dev->kobj_node); - if (!dev->kobj_perf) - return -ENOMEM; -+#endif - - /* - * Creating sysfs files for node properties -@@ -725,6 +742,7 @@ static int kfd_build_sysfs_node_entry(struct kfd_topology_device *dev, - i++; - } - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - /* All hardware blocks have the same number of attributes. */ - num_attrs = sizeof(perf_attr_iommu)/sizeof(struct kfd_perf_attr); - list_for_each_entry(perf, &dev->perf_props, list) { -@@ -750,6 +768,7 @@ static int kfd_build_sysfs_node_entry(struct kfd_topology_device *dev, - if (ret < 0) - return ret; - } -+#endif - - return 0; - } -@@ -915,6 +934,7 @@ static void find_system_memory(const struct dmi_header *dm, - } - } - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - /* - * Performance counters information is not part of CRAT but we would like to - * put them in the sysfs under topology directory for Thunk to get the data. -@@ -936,6 +956,7 @@ static int kfd_add_perf_to_topology(struct kfd_topology_device *kdev) - - return 0; - } -+#endif - - /* kfd_add_non_crat_information - Add information that is not currently - * defined in CRAT but is necessary for KFD topology -@@ -1047,9 +1068,11 @@ int kfd_topology_init(void) - } - } - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - kdev = list_first_entry(&temp_topology_device_list, - struct kfd_topology_device, list); - kfd_add_perf_to_topology(kdev); -+#endif - - down_write(&topology_lock); - num_nodes = kfd_topology_update_device_list(&temp_topology_device_list, -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h -index a968e58..89d08c4 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h -@@ -139,12 +139,14 @@ struct kfd_iolink_properties { - struct attribute attr; - }; - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - struct kfd_perf_properties { - struct list_head list; - char block_name[16]; - uint32_t max_concurrent; - struct attribute_group *attr_group; - }; -+#endif - - struct kfd_topology_device { - struct list_head list; -@@ -156,13 +158,17 @@ struct kfd_topology_device { - struct list_head cache_props; - uint32_t io_link_count; - struct list_head io_link_props; -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - struct list_head perf_props; -+#endif - struct kfd_dev *gpu; - struct kobject *kobj_node; - struct kobject *kobj_mem; - struct kobject *kobj_cache; - struct kobject *kobj_iolink; -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - struct kobject *kobj_perf; -+#endif - struct attribute attr_gpuid; - struct attribute attr_name; - struct attribute attr_props; -@@ -187,8 +193,10 @@ struct kfd_topology_device *kfd_create_topology_device( - struct list_head *device_list); - void kfd_release_live_view(void); - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) - extern bool amd_iommu_pc_supported(void); - extern u8 amd_iommu_pc_get_max_banks(u16 devid); - extern u8 amd_iommu_pc_get_max_counters(u16 devid); -+#endif - - #endif /* __KFD_TOPOLOGY_H__ */ --- -2.7.4 - |