diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1272-drm-amdkfd-Put-x86-specific-code-inside-X86_64.patch b/common/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/common/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 + |