diff mbox series

[v2,2/3] docs: firmware-guide: ACPI: Add named interrupt doc

Message ID 1641996862-26960-3-git-send-email-akhilrajeev@nvidia.com
State New
Headers show
Series Enable named interrupt smbus-alert for ACPI | expand

Commit Message

Akhil R Jan. 12, 2022, 2:14 p.m. UTC
Added details and example for named interrupts in the ACPI Table

Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
---
 Documentation/firmware-guide/acpi/enumeration.rst | 38 +++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Andy Shevchenko Jan. 12, 2022, 3:48 p.m. UTC | #1
On Wed, Jan 12, 2022 at 4:15 PM Akhil R <akhilrajeev@nvidia.com> wrote:

Thanks for doing this, very helpful! My comments below.

> Added details and example for named interrupts in the ACPI Table

Table.

...

> +Named Interrupts
> +================
> +
> +Drivers with ACPI node can have names to interrupts in ACPI table which
> +can be used to get the irq number in the driver.

IRQ

> +The interrupt name can be listed in _DSD as 'interrupt-names'. The names
> +should be listed as an array of strings which will map to the Interrupt
> +property in ACPI table corresponding to its index.

'Interrupt property' --> 'Interrupt() resource'

the ACPI

> +The table below shows an example of its usage::
> +
> +       Device (DEV0) {
> +               ...
> +               Name (_CRS, ResourceTemplate() {
> +                       ...
> +                       Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
> +                               0x20,
> +                               0x24
> +                       }
> +               })
> +
> +               Name (_DSD, Package () {
> +                       ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
> +                       Package () {
> +                               Package () {"interrupt-names",
> +                                       Package (2) {"default", "alert"}},
> +                       }

                       Package () {
                               Package () {
                                        "interrupt-names", Package ()
{"default", "alert"}
                               },
                       }

> +                       ...
> +               })
> +       }

Please, drop the indentation to just 4 spaces.

> +The interrupt name 'default' will correspond to 0x20 in Interrupt property

Interrupt() resource

> +and 'alert' to 0x24.
> +
> +The driver can call the function - device_irq_get_byname with the device

device_irq_get_byname()

> +and interrupt name as arguments to get the corresponding irq number.

IRQ
diff mbox series

Patch

diff --git a/Documentation/firmware-guide/acpi/enumeration.rst b/Documentation/firmware-guide/acpi/enumeration.rst
index 74b830b2..30ae41c 100644
--- a/Documentation/firmware-guide/acpi/enumeration.rst
+++ b/Documentation/firmware-guide/acpi/enumeration.rst
@@ -143,6 +143,44 @@  In robust cases the client unfortunately needs to call
 acpi_dma_request_slave_chan_by_index() directly and therefore choose the
 specific FixedDMA resource by its index.
 
+Named Interrupts
+================
+
+Drivers with ACPI node can have names to interrupts in ACPI table which
+can be used to get the irq number in the driver.
+
+The interrupt name can be listed in _DSD as 'interrupt-names'. The names
+should be listed as an array of strings which will map to the Interrupt
+property in ACPI table corresponding to its index.
+
+The table below shows an example of its usage::
+
+	Device (DEV0) {
+		...
+		Name (_CRS, ResourceTemplate() {
+			...
+			Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
+				0x20,
+				0x24
+			}
+		})
+
+		Name (_DSD, Package () {
+			ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () {"interrupt-names",
+					Package (2) {"default", "alert"}},
+			}
+			...
+		})
+	}
+
+The interrupt name 'default' will correspond to 0x20 in Interrupt property
+and 'alert' to 0x24.
+
+The driver can call the function - device_irq_get_byname with the device
+and interrupt name as arguments to get the corresponding irq number.
+
 SPI serial bus support
 ======================