Re: [PATCH v3 1/7] ACPI/PPTT: Add Processor Properties Topology Table parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux