Message ID | 20220304054003.152319-1-ilkka@os.amperecomputing.com (mailing list archive) |
---|---|
Headers | show |
Series | ACPI: Arm Generic Diagnostic Dump and Reset device | expand |
On Thu, Mar 03, 2022 at 09:40:01PM -0800, Ilkka Koskinen wrote: > Hi Lorenzo, > > Would you prefer this version, which doesn't have platform > device/driver any more? I thought about that and in order to keep consistency it is better to keep the platform device model, so please resend the latest version platform device based and I will ACK it (hopefully it is not too late for v5.18). Please note before resending it that sdei_event_unregister() requires a retry loop since it can return -EINPROGRESS (see sdei_unregister_ghes()). Thanks, Lorenzo > > --Ilkka > > > ---- > > Arm Generic Diagnostic Dump and Reset device enables a maintainer to > request OS to perform a diagnostic dump and reset a system via SDEI > event or an interrupt. This patchset adds support for the SDEI path. > > I do have a patch to enable the interrupt path as well but I'm holding > it back since AGDI table is missing interrupt configuration fields > (trigger type etc.). > > The recently published specification is available at > https://developer.arm.com/documentation/den0093/latest > > The patchset was tested on Ampere Altra/Mt. Jade. > > The patchset applies on top of > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm bleeding-edge (9db71e8e3027) > > I also tested it works on top of Shuai Xue's new patches in bleeding-edge branch (c6f4ba2d2b9a) > > From v1: > * Moved pdata to the stack and dropped unnecessary kzalloc() in agdi_init() > * Changed the ACPICA patch upstreaming order comment in the paragraph above > > From v2: > * The first patch was split. The most of it was merged to ACPICA project > at first and later ported to linux-acpi > (fd919e37cb15914c6fe13e13d530a4f732407c6d). The rest are in the first > patch. > > From v3: > Fixed: > * Moved header files in alphabetical order and removed unnecessary ones > > From v4: > * Platform device/driver stuff removed > * acpi_agdi_init() call moved from device_initcall to acpi_init() > * Slightly modified Kconfig text to keep checkpatch happy > > Ilkka Koskinen (2): > ACPI: tables: Add AGDI to the list of known table signatures > ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset > device > > drivers/acpi/arm64/Kconfig | 10 +++++++ > drivers/acpi/arm64/Makefile | 1 + > drivers/acpi/arm64/agdi.c | 52 +++++++++++++++++++++++++++++++++++++ > drivers/acpi/bus.c | 2 ++ > drivers/acpi/tables.c | 2 +- > include/linux/acpi_agdi.h | 13 ++++++++++ > 6 files changed, 79 insertions(+), 1 deletion(-) > create mode 100644 drivers/acpi/arm64/agdi.c > create mode 100644 include/linux/acpi_agdi.h > > -- > 2.17.1 >
On Fri, 4 Mar 2022, Lorenzo Pieralisi wrote: > On Thu, Mar 03, 2022 at 09:40:01PM -0800, Ilkka Koskinen wrote: >> Hi Lorenzo, >> >> Would you prefer this version, which doesn't have platform >> device/driver any more? > > I thought about that and in order to keep consistency it is better to > keep the platform device model, so please resend the latest version > platform device based and I will ACK it (hopefully it is not too late > for v5.18). Sure, I can do that. Just one question, do you still prefer agdi_init() getting called from acpi_init() or via device_initcall()? > Please note before resending it that sdei_event_unregister() requires a > retry loop since it can return -EINPROGRESS (see sdei_unregister_ghes()). Thanks for pointing out, I'll fix it. Cheers, Ilkka > > Thanks, > Lorenzo > >> >> --Ilkka >> >> >> ---- >> >> Arm Generic Diagnostic Dump and Reset device enables a maintainer to >> request OS to perform a diagnostic dump and reset a system via SDEI >> event or an interrupt. This patchset adds support for the SDEI path. >> >> I do have a patch to enable the interrupt path as well but I'm holding >> it back since AGDI table is missing interrupt configuration fields >> (trigger type etc.). >> >> The recently published specification is available at >> https://developer.arm.com/documentation/den0093/latest >> >> The patchset was tested on Ampere Altra/Mt. Jade. >> >> The patchset applies on top of >> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm bleeding-edge (9db71e8e3027) >> >> I also tested it works on top of Shuai Xue's new patches in bleeding-edge branch (c6f4ba2d2b9a) >> >> From v1: >> * Moved pdata to the stack and dropped unnecessary kzalloc() in agdi_init() >> * Changed the ACPICA patch upstreaming order comment in the paragraph above >> >> From v2: >> * The first patch was split. The most of it was merged to ACPICA project >> at first and later ported to linux-acpi >> (fd919e37cb15914c6fe13e13d530a4f732407c6d). The rest are in the first >> patch. >> >> From v3: >> Fixed: >> * Moved header files in alphabetical order and removed unnecessary ones >> >> From v4: >> * Platform device/driver stuff removed >> * acpi_agdi_init() call moved from device_initcall to acpi_init() >> * Slightly modified Kconfig text to keep checkpatch happy >> >> Ilkka Koskinen (2): >> ACPI: tables: Add AGDI to the list of known table signatures >> ACPI: AGDI: Add support for Arm Generic Diagnostic Dump and Reset >> device >> >> drivers/acpi/arm64/Kconfig | 10 +++++++ >> drivers/acpi/arm64/Makefile | 1 + >> drivers/acpi/arm64/agdi.c | 52 +++++++++++++++++++++++++++++++++++++ >> drivers/acpi/bus.c | 2 ++ >> drivers/acpi/tables.c | 2 +- >> include/linux/acpi_agdi.h | 13 ++++++++++ >> 6 files changed, 79 insertions(+), 1 deletion(-) >> create mode 100644 drivers/acpi/arm64/agdi.c >> create mode 100644 include/linux/acpi_agdi.h >> >> -- >> 2.17.1 >> >
On Mon, Mar 07, 2022 at 02:29:10PM -0800, Ilkka Koskinen wrote: [...] > > > Would you prefer this version, which doesn't have platform > > > device/driver any more? > > > > I thought about that and in order to keep consistency it is better to > > keep the platform device model, so please resend the latest version > > platform device based and I will ACK it (hopefully it is not too late > > for v5.18). > > Sure, I can do that. Just one question, do you still prefer agdi_init() > getting called from acpi_init() or via device_initcall()? In acpi_init(), thanks. Lorenzo