aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch96
1 files changed, 96 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch
new file mode 100644
index 00000000..4989856c
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch
@@ -0,0 +1,96 @@
+From 8b1be18f7006b740b5c2fd04b860e80a8bc1a7fb Mon Sep 17 00:00:00 2001
+From: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
+Date: Wed, 26 Apr 2017 13:01:31 -0500
+Subject: [PATCH 1272/4131] drm/amdkfd: Put x86 specific code inside X86_64
+
+Change-Id: I8cdf10f9f877eedf70a112cba6578192b6d10de3
+Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 10 +++++++++-
+ drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 9 +++++----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+index 99344e5..3b3366c 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+@@ -825,6 +825,7 @@ static int kfd_fill_mem_info_for_cpu(int numa_node_id, int *avail_size,
+ return 0;
+ }
+
++#ifdef CONFIG_X86_64
+ static int kfd_fill_iolink_info_for_cpu(int numa_node_id, int *avail_size,
+ uint32_t *num_entries,
+ struct crat_subtype_iolink *sub_type_hdr)
+@@ -867,6 +868,7 @@ static int kfd_fill_iolink_info_for_cpu(int numa_node_id, int *avail_size,
+
+ return 0;
+ }
++#endif
+
+ /* kfd_create_vcrat_image_cpu - Create Virtual CRAT for CPU
+ *
+@@ -880,12 +882,14 @@ static int kfd_create_vcrat_image_cpu(void *pcrat_image, size_t *size)
+ struct crat_subtype_generic *sub_type_hdr;
+ int avail_size = *size;
+ int numa_node_id;
+- uint32_t entries = 0;
+ int ret = 0;
+ #ifdef CONFIG_ACPI
+ struct acpi_table_header *acpi_table;
+ acpi_status status;
+ #endif
++#ifdef CONFIG_X86_64
++ uint32_t entries = 0;
++#endif
+
+ if (pcrat_image == NULL || avail_size < VCRAT_SIZE_FOR_CPU)
+ return -EINVAL;
+@@ -949,6 +953,7 @@ static int kfd_create_vcrat_image_cpu(void *pcrat_image, size_t *size)
+ sub_type_hdr->length);
+
+ /* Fill in Subtype: IO Link */
++#ifdef CONFIG_X86_64
+ ret = kfd_fill_iolink_info_for_cpu(numa_node_id, &avail_size,
+ &entries,
+ (struct crat_subtype_iolink *)sub_type_hdr);
+@@ -959,6 +964,9 @@ static int kfd_create_vcrat_image_cpu(void *pcrat_image, size_t *size)
+
+ sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr +
+ sub_type_hdr->length * entries);
++#else
++ pr_info("IO link not available for non x86 platforms\n");
++#endif
+
+ crat_table->num_domains++;
+ }
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+index f022cbc..c323782 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+@@ -1410,7 +1410,6 @@ int kfd_topology_enum_kfd_devices(uint8_t idx, struct kfd_dev **kdev)
+
+ static int kfd_cpumask_to_apic_id(const struct cpumask *cpumask)
+ {
+- const struct cpuinfo_x86 *cpuinfo;
+ int first_cpu_of_numa_node;
+
+ if (cpumask == NULL || cpumask == cpu_none_mask)
+@@ -1418,9 +1417,11 @@ static int kfd_cpumask_to_apic_id(const struct cpumask *cpumask)
+ first_cpu_of_numa_node = cpumask_first(cpumask);
+ if (first_cpu_of_numa_node >= nr_cpu_ids)
+ return -1;
+- cpuinfo = &cpu_data(first_cpu_of_numa_node);
+-
+- return cpuinfo->apicid;
++#ifdef CONFIG_X86_64
++ return cpu_data(first_cpu_of_numa_node).apicid;
++#else
++ return first_cpu_of_numa_node;
++#endif
+ }
+
+ /* kfd_numa_node_to_apic_id - Returns the APIC ID of the first logical processor
+--
+2.7.4
+