Message ID | 1641996862-26960-3-git-send-email-akhilrajeev@nvidia.com |
---|---|
State | New |
Headers | show |
Series | Enable named interrupt smbus-alert for ACPI | expand |
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 --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 ======================
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(+)