Hi,
On 10/20/2017 02:53 PM, Christ, Austin wrote:
Hey Jeremy,
Quick comment below.
On 10/12/2017 1:48 PM, Jeremy Linton wrote:
+static int topology_setup_acpi_cpu(struct acpi_table_header *table,
+ unsigned int cpu, int level)
+{
+ struct acpi_pptt_processor *cpu_node;
+ u32 acpi_cpu_id = acpi_cpu_get_madt_gicc(cpu)->uid;
This lookup for the acpi id is architecture dependent. Can you use a
function that would work for any user of PPTT and MADT? It may require
writing and exporting the inverse lookup of the function
acpi_get_cpuid() which is exported from processor_core.c
Sure, I was actually thinking about just passing it into the function,
so it becomes the responsibility of the caller to do the platform
specific reverse lookup.
+
+ cpu_node = acpi_find_processor_node(table, acpi_cpu_id);
+ if (cpu_node) {
+ cpu_node = acpi_find_processor_package_id(table, cpu_node,
level);
+ /* Only the first level has a guaranteed id */
+ if (level == 0)
+ return cpu_node->acpi_processor_id;
+ return (int)((u8 *)cpu_node - (u8 *)table);
+ }
+ pr_err_once("PPTT table found, but unable to locate core for %d\n",
+ cpu);
+ return -ENOENT;
+}
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html