[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3e898236-0e7d-a8b0-e4c2-443012472296@codeaurora.org>
Date: Fri, 20 Oct 2017 13:53:45 -0600
From: "Christ, Austin" <austinwc@...eaurora.org>
To: Jeremy Linton <jeremy.linton@....com>, linux-acpi@...r.kernel.org
Cc: linux-arm-kernel@...ts.infradead.org, sudeep.holla@....com,
hanjun.guo@...aro.org, lorenzo.pieralisi@....com,
rjw@...ysocki.net, will.deacon@....com, catalin.marinas@....com,
gregkh@...uxfoundation.org, viresh.kumar@...aro.org,
mark.rutland@....com, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, jhugo@...eaurora.org,
wangxiongfeng2@...wei.com, Jonathan.Zhang@...ium.com,
ahs3@...hat.com, Jayachandran.Nair@...ium.com
Subject: Re: [PATCH v3 1/7] ACPI/PPTT: Add Processor Properties Topology Table
parsing
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
> +
> + 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;
> +}
--
Austin Christ
Qualcomm Datacenter Technologies as an affiliate of Qualcomm
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
Powered by blists - more mailing lists