Message ID | E1rDOgs-00Dvko-6t@rmk-PC.armlinux.org.uk |
---|---|
State | New |
Headers | show |
Series | ACPI/arm64: add support for virtual cpu hotplug | expand |
On Wed, 13 Dec 2023 12:50:18 +0000 Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote: > From: James Morse <james.morse@arm.com> > > Add the new flag field to the MADT's GICC structure. > > 'Online Capable' indicates a disabled CPU can be enabled later. See > ACPI specification 6.5 Tabel 5.37: GICC CPU Interface Flags. > > Signed-off-by: James Morse <james.morse@arm.com> > Tested-by: Miguel Luis <miguel.luis@oracle.com> > Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com> > Tested-by: Jianyong Wu <jianyong.wu@arm.com> > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> I see there is an acpica pull request including this bit but with a different name For reference. https://github.com/acpica/acpica/pull/914/commits/453a5f67567786522021d5f6913f561f8b3cabf6 +CC Lorenzo who submitted that. > --- > This patch probably needs to go via the upstream acpica project, > but is included here so the feature can be tested. > > If the ACPICA header files are updated before merging this patch set, > this patch will need to be dropped. > > Changes since RFC v2: > * Add ACPI specification reference. > --- > include/acpi/actbl2.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h > index 3751ae69432f..c433a079d8e1 100644 > --- a/include/acpi/actbl2.h > +++ b/include/acpi/actbl2.h > @@ -1046,6 +1046,7 @@ struct acpi_madt_generic_interrupt { > /* ACPI_MADT_ENABLED (1) Processor is usable if set */ > #define ACPI_MADT_PERFORMANCE_IRQ_MODE (1<<1) /* 01: Performance Interrupt Mode */ > #define ACPI_MADT_VGIC_IRQ_MODE (1<<2) /* 02: VGIC Maintenance Interrupt mode */ > +#define ACPI_MADT_GICC_CPU_CAPABLE (1<<3) /* 03: CPU is online capable */ ACPI_MADT_GICC_ONLINE_CAPABLE > > /* 12: Generic Distributor (ACPI 5.0 + ACPI 6.0 changes) */ >
On Fri, Dec 15, 2023 at 04:23:22PM +0000, Jonathan Cameron wrote: > On Wed, 13 Dec 2023 12:50:18 +0000 > Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote: > > > From: James Morse <james.morse@arm.com> > > > > Add the new flag field to the MADT's GICC structure. > > > > 'Online Capable' indicates a disabled CPU can be enabled later. See > > ACPI specification 6.5 Tabel 5.37: GICC CPU Interface Flags. > > > > Signed-off-by: James Morse <james.morse@arm.com> > > Tested-by: Miguel Luis <miguel.luis@oracle.com> > > Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com> > > Tested-by: Jianyong Wu <jianyong.wu@arm.com> > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > > I see there is an acpica pull request including this bit but with a different name > For reference. > https://github.com/acpica/acpica/pull/914/commits/453a5f67567786522021d5f6913f561f8b3cabf6 > > +CC Lorenzo who submitted that. > > +#define ACPI_MADT_GICC_CPU_CAPABLE (1<<3) /* 03: CPU is online capable */ > > ACPI_MADT_GICC_ONLINE_CAPABLE It's somewhat disappointing, but no big deal. It's easy enough to change "irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs" to use Lorenzo's name when that patch hits - and it becomes one less patch in this patch set when Lorenzo's change eventually hits mainline. Does anyone know how long it may take for Lorenzo's change to get into mainline? Would it be by the 6.8 merge window or the following one? Thanks.
On Mon, Dec 18, 2023 at 02:14:30PM +0100, Rafael J. Wysocki wrote: > On Mon, Dec 18, 2023 at 10:23 AM Lorenzo Pieralisi > <lpieralisi@kernel.org> wrote: > > > > On Fri, Dec 15, 2023 at 04:53:28PM +0000, Russell King (Oracle) wrote: > > > On Fri, Dec 15, 2023 at 04:23:22PM +0000, Jonathan Cameron wrote: > > > > On Wed, 13 Dec 2023 12:50:18 +0000 > > > > Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote: > > > > > > > > > From: James Morse <james.morse@arm.com> > > > > > > > > > > Add the new flag field to the MADT's GICC structure. > > > > > > > > > > 'Online Capable' indicates a disabled CPU can be enabled later. See > > > > > ACPI specification 6.5 Tabel 5.37: GICC CPU Interface Flags. > > > > > > > > > > Signed-off-by: James Morse <james.morse@arm.com> > > > > > Tested-by: Miguel Luis <miguel.luis@oracle.com> > > > > > Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com> > > > > > Tested-by: Jianyong Wu <jianyong.wu@arm.com> > > > > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > > > > > > > > I see there is an acpica pull request including this bit but with a different name > > > > For reference. > > > > https://github.com/acpica/acpica/pull/914/commits/453a5f67567786522021d5f6913f561f8b3cabf6 > > > > > > > > +CC Lorenzo who submitted that. > > > > > > > > +#define ACPI_MADT_GICC_CPU_CAPABLE (1<<3) /* 03: CPU is online capable */ > > > > > > > > ACPI_MADT_GICC_ONLINE_CAPABLE > > > > > > It's somewhat disappointing, but no big deal. It's easy enough to change > > > "irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs" > > > to use Lorenzo's name when that patch hits - and it becomes one less > > > patch in this patch set when Lorenzo's change eventually hits mainline. > > > > > > Does anyone know how long it may take for Lorenzo's change to get into > > > mainline? Would it be by the 6.8 merge window or the following one? > > > > I wish I knew. I submitted ACPICA changes for the online capable bit > > since I had to add additional flags on top (ie DMA coherent) and it > > would not make sense to submit the latter without the former. > > > > I'd be great if the ACPICA headers can make it into Linux for the upcoming > > merge window, not sure what I can do to fasttrack the process though > > (I shall ping the maintainers). > > If your upstream pull request has been merged, I can pick up Linux > patches carrying Link: tags pointing to the upstream ACPICA commits in > that pull request. Thank you, I don't think it has been merged yet (and it requires review because I am not that familiar with the ACPICA code base). Hopefully it should be an extended kernel cycle so it might be possible to get these headers in v6.8, if you deem that reasonable of course once the PR is merged. Thanks, Lorenzo
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index 3751ae69432f..c433a079d8e1 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h @@ -1046,6 +1046,7 @@ struct acpi_madt_generic_interrupt { /* ACPI_MADT_ENABLED (1) Processor is usable if set */ #define ACPI_MADT_PERFORMANCE_IRQ_MODE (1<<1) /* 01: Performance Interrupt Mode */ #define ACPI_MADT_VGIC_IRQ_MODE (1<<2) /* 02: VGIC Maintenance Interrupt mode */ +#define ACPI_MADT_GICC_CPU_CAPABLE (1<<3) /* 03: CPU is online capable */ /* 12: Generic Distributor (ACPI 5.0 + ACPI 6.0 changes) */