[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZeailF+UYf/+4NQq@sunil-laptop>
Date: Tue, 5 Mar 2024 10:11:56 +0530
From: Sunil V L <sunilvl@...tanamicro.com>
To: Haibo Xu <haibo1.xu@...el.com>
Cc: xiaobo55x@...il.com, ajones@...tanamicro.com,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Len Brown <lenb@...nel.org>, Robert Moore <robert.moore@...el.com>,
Conor Dooley <conor.dooley@...rochip.com>,
Guo Ren <guoren@...nel.org>, Anup Patel <apatel@...tanamicro.com>,
Alexandre Ghiti <alexghiti@...osinc.com>,
Greentime Hu <greentime.hu@...ive.com>, Baoquan He <bhe@...hat.com>,
Jisheng Zhang <jszhang@...nel.org>,
Sami Tolvanen <samitolvanen@...gle.com>,
Clément Léger <cleger@...osinc.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Arnd Bergmann <arnd@...db.de>,
Chen Jiahao <chenjiahao16@...wei.com>,
James Morse <james.morse@....com>, Evan Green <evan@...osinc.com>,
Samuel Holland <samuel.holland@...ive.com>,
Ard Biesheuvel <ardb@...nel.org>, Tony Luck <tony.luck@...el.com>,
Yuntao Wang <ytcoode@...il.com>,
Alison Schofield <alison.schofield@...el.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, acpica-devel@...ts.linux.dev
Subject: Re: [PATCH 2/4] ACPI: NUMA: Add handler for SRAT RINTC affinity
structure
Hi Haibo,
On Wed, Jan 31, 2024 at 10:31:59AM +0800, Haibo Xu wrote:
> Add RINTC affinity structure handler during parsing SRAT table.
> The ARCH specific implementation will be added in next patch.
>
> Signed-off-by: Haibo Xu <haibo1.xu@...el.com>
> ---
> drivers/acpi/numa/srat.c | 32 +++++++++++++++++++++++++++++++-
> include/linux/acpi.h | 3 +++
> 2 files changed, 34 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
> index 0214518fc582..503abcf6125d 100644
> --- a/drivers/acpi/numa/srat.c
> +++ b/drivers/acpi/numa/srat.c
> @@ -165,6 +165,19 @@ acpi_table_print_srat_entry(struct acpi_subtable_header *header)
> }
> }
> break;
> +
> + case ACPI_SRAT_TYPE_RINTC_AFFINITY:
> + {
> + struct acpi_srat_rintc_affinity *p =
> + (struct acpi_srat_rintc_affinity *)header;
> + pr_debug("SRAT Processor (acpi id[0x%04x]) in proximity domain %d %s\n",
> + p->acpi_processor_uid,
> + p->proximity_domain,
> + (p->flags & ACPI_SRAT_RINTC_ENABLED) ?
> + "enabled" : "disabled");
> + }
> + break;
> +
> default:
> pr_warn("Found unsupported SRAT entry (type = 0x%x)\n",
> header->type);
> @@ -448,6 +461,21 @@ acpi_parse_gi_affinity(union acpi_subtable_headers *header,
> }
> #endif /* defined(CONFIG_X86) || defined (CONFIG_ARM64) */
>
> +static int __init
> +acpi_parse_rintc_affinity(union acpi_subtable_headers *header,
> + const unsigned long end)
Alignment doesn't look right. Could you please run checkpatch on all
the patches?
> +{
> + struct acpi_srat_rintc_affinity *rintc_affinity;
> +
> + rintc_affinity = (struct acpi_srat_rintc_affinity *)header;
> + acpi_table_print_srat_entry(&header->common);
> +
> + /* let architecture-dependent part to do it */
> + acpi_numa_rintc_affinity_init(rintc_affinity);
> +
Is it required to have this commit first prior to architecture
functionality? I am wondering whether it is logically better to
implement the function first and then consume in next commit?
> + return 0;
> +}
> +
> static int __initdata parsed_numa_memblks;
>
> static int __init
> @@ -501,7 +529,7 @@ int __init acpi_numa_init(void)
>
> /* SRAT: System Resource Affinity Table */
> if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
> - struct acpi_subtable_proc srat_proc[4];
> + struct acpi_subtable_proc srat_proc[5];
>
> memset(srat_proc, 0, sizeof(srat_proc));
> srat_proc[0].id = ACPI_SRAT_TYPE_CPU_AFFINITY;
> @@ -512,6 +540,8 @@ int __init acpi_numa_init(void)
> srat_proc[2].handler = acpi_parse_gicc_affinity;
> srat_proc[3].id = ACPI_SRAT_TYPE_GENERIC_AFFINITY;
> srat_proc[3].handler = acpi_parse_gi_affinity;
> + srat_proc[4].id = ACPI_SRAT_TYPE_RINTC_AFFINITY;
> + srat_proc[4].handler = acpi_parse_rintc_affinity;
>
> acpi_table_parse_entries_array(ACPI_SIG_SRAT,
> sizeof(struct acpi_table_srat),
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index b7165e52b3c6..a65273db55c6 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -269,6 +269,9 @@ acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa) { }
>
> int acpi_numa_memory_affinity_init (struct acpi_srat_mem_affinity *ma);
>
> +static inline void
> +acpi_numa_rintc_affinity_init(struct acpi_srat_rintc_affinity *pa) { }
> +
I think this can be fit in single like as we can have upto 100
characters.
> #ifndef PHYS_CPUID_INVALID
> typedef u32 phys_cpuid_t;
> #define PHYS_CPUID_INVALID (phys_cpuid_t)(-1)
> --
> 2.34.1
>
Powered by blists - more mailing lists