aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1263-drm-amdkfd-Ignore-ACPI-CRAT-for-non-APU-systems.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1263-drm-amdkfd-Ignore-ACPI-CRAT-for-non-APU-systems.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1263-drm-amdkfd-Ignore-ACPI-CRAT-for-non-APU-systems.patch106
1 files changed, 0 insertions, 106 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1263-drm-amdkfd-Ignore-ACPI-CRAT-for-non-APU-systems.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1263-drm-amdkfd-Ignore-ACPI-CRAT-for-non-APU-systems.patch
deleted file mode 100644
index c5e79a92..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1263-drm-amdkfd-Ignore-ACPI-CRAT-for-non-APU-systems.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 20a37acfdc750227167cf82a5ee02e13847ed97b Mon Sep 17 00:00:00 2001
-From: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
-Date: Thu, 20 Apr 2017 12:14:12 -0400
-Subject: [PATCH 1263/4131] drm/amdkfd: Ignore ACPI CRAT for non APU systems
-
-Bug: SWDEV-112350
-
-Change-Id: I768009dd4622627cf0b913f6034100ef5bcb90be
-Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
-
- Conflicts:
- drivers/gpu/drm/amd/amdkfd/kfd_topology.c
----
- drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 58 ++++++++++++++++++++++++++-----
- 1 file changed, 50 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
-index 605e42f..603fcde9 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
-@@ -951,6 +951,33 @@ static void kfd_add_non_crat_information(struct kfd_topology_device *kdev)
- /* TODO: For GPU node, rearrange code from kfd_topology_add_device */
- }
-
-+/* kfd_is_acpi_crat_invalid - CRAT from ACPI is valid only for AMD APU devices.
-+ * Ignore CRAT for all other devices. AMD APU is identified if both CPU
-+ * and GPU cores are present.
-+ * @device_list - topology device list created by parsing ACPI CRAT table.
-+ * @return - TRUE if invalid, FALSE is valid.
-+ */
-+static bool kfd_is_acpi_crat_invalid(struct list_head *device_list)
-+{
-+ struct kfd_topology_device *dev;
-+
-+ list_for_each_entry(dev, device_list, list) {
-+ if (dev->node_props.cpu_cores_count &&
-+ dev->node_props.simd_count)
-+ return false;
-+ }
-+ pr_info("Ignoring ACPI CRAT on non-APU system\n");
-+ return true;
-+}
-+
-+static void kfd_delete_topology_device_list(struct list_head *device_list)
-+{
-+ struct kfd_topology_device *dev, *tmp;
-+
-+ list_for_each_entry_safe(dev, tmp, device_list, list)
-+ kfd_release_topology_device(dev);
-+}
-+
- int kfd_topology_init(void)
- {
- void *crat_image = NULL;
-@@ -984,25 +1011,40 @@ int kfd_topology_init(void)
-
- /*
- * Get the CRAT image from the ACPI. If ACPI doesn't have one
-- * create a virtual CRAT.
-+ * or if ACPI CRAT is invalid create a virtual CRAT.
- * NOTE: The current implementation expects all AMD APUs to have
- * CRAT. If no CRAT is available, it is assumed to be a CPU
- */
- ret = kfd_create_crat_image_acpi(&crat_image, &image_size);
-- if (ret != 0) {
-+ if (ret == 0) {
-+ ret = kfd_parse_crat_table(crat_image,
-+ &temp_topology_device_list,
-+ proximity_domain);
-+ if (ret ||
-+ kfd_is_acpi_crat_invalid(&temp_topology_device_list)) {
-+
-+ kfd_delete_topology_device_list(
-+ &temp_topology_device_list);
-+ INIT_LIST_HEAD(&temp_topology_device_list);
-+ kfd_destroy_crat_image(crat_image);
-+ crat_image = NULL;
-+ }
-+ }
-+
-+ if (!crat_image) {
- ret = kfd_create_crat_image_virtual(&crat_image, &image_size,
- COMPUTE_UNIT_CPU, NULL,
- proximity_domain);
- cpu_only_node = 1;
-- }
-
-- if (ret == 0)
-- ret = kfd_parse_crat_table(crat_image,
-+ if (ret == 0)
-+ ret = kfd_parse_crat_table(crat_image,
- &temp_topology_device_list,
- proximity_domain);
-- else {
-- pr_err("Error getting/creating CRAT table\n");
-- goto err;
-+ else {
-+ pr_err("Error getting/creating CRAT table\n");
-+ goto err;
-+ }
- }
-
- kdev = list_first_entry(&temp_topology_device_list,
---
-2.7.4
-