Hi Lorenzo,
Would you prefer this version, which doesn't have platform device/driver
any more?
--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
Sorry about the mess. I'll resubmit the patch set.
On Fri, 4 Mar 2022, Ilkka Koskinen wrote:
> Hi Lorenzo,
>
> Would you prefer this version, which doesn't have platform device/driver
> any more?
>
> --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
>
>
Add AGDI to the list of known ACPI table signatures to allow the
kernel to recognize it when upgrading tables via initrd.
Signed-off-by: Ilkka Koskinen <[email protected]>
Reviewed-by: Russell King (Oracle) <[email protected]>
---
drivers/acpi/tables.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 369eb998c3d1..ceee808f7f2a 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -545,7 +545,7 @@ static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst = {
ACPI_SIG_WDDT, ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT,
ACPI_SIG_PSDT, ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT,
ACPI_SIG_IORT, ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT,
- ACPI_SIG_NHLT, ACPI_SIG_AEST, ACPI_SIG_CEDT };
+ ACPI_SIG_NHLT, ACPI_SIG_AEST, ACPI_SIG_CEDT, ACPI_SIG_AGDI };
#define ACPI_HEADER_SIZE sizeof(struct acpi_table_header)
--
2.17.1