mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
Documentation: irq-domain.rst: Simple improvements
The improvements include:
* Capitals in headlines.
* Add commas: for easier reading, it is always desired to add commas
at some places in text. Like before adverbs or after fronted
sentences.
* 3rd person -> add 's' to verbs.
* End some sentences with period and start a new one. Avoid thus heavy
sentences.
[ tglx: Fix up subject prefix ]
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250319092951.37667-56-jirislaby@kernel.org
This commit is contained in:
parent
225942f06e
commit
95cfac1b2f
|
|
@ -1,19 +1,19 @@
|
|||
===============================================
|
||||
The irq_domain interrupt number mapping library
|
||||
The irq_domain Interrupt Number Mapping Library
|
||||
===============================================
|
||||
|
||||
The current design of the Linux kernel uses a single large number
|
||||
space where each separate IRQ source is assigned a different number.
|
||||
This is simple when there is only one interrupt controller, but in
|
||||
systems with multiple interrupt controllers the kernel must ensure
|
||||
systems with multiple interrupt controllers, the kernel must ensure
|
||||
that each one gets assigned non-overlapping allocations of Linux
|
||||
IRQ numbers.
|
||||
|
||||
The number of interrupt controllers registered as unique irqchips
|
||||
show a rising tendency: for example subdrivers of different kinds
|
||||
shows a rising tendency. For example, subdrivers of different kinds
|
||||
such as GPIO controllers avoid reimplementing identical callback
|
||||
mechanisms as the IRQ core system by modelling their interrupt
|
||||
handlers as irqchips, i.e. in effect cascading interrupt controllers.
|
||||
handlers as irqchips. I.e. in effect cascading interrupt controllers.
|
||||
|
||||
Here the interrupt number loose all kind of correspondence to
|
||||
hardware interrupt numbers: whereas in the past, IRQ numbers could
|
||||
|
|
@ -21,15 +21,15 @@ be chosen so they matched the hardware IRQ line into the root
|
|||
interrupt controller (i.e. the component actually fireing the
|
||||
interrupt line to the CPU) nowadays this number is just a number.
|
||||
|
||||
For this reason we need a mechanism to separate controller-local
|
||||
interrupt numbers, called hardware irq's, from Linux IRQ numbers.
|
||||
For this reason, we need a mechanism to separate controller-local
|
||||
interrupt numbers, called hardware IRQs, from Linux IRQ numbers.
|
||||
|
||||
The irq_alloc_desc*() and irq_free_desc*() APIs provide allocation of
|
||||
irq numbers, but they don't provide any support for reverse mapping of
|
||||
the controller-local IRQ (hwirq) number into the Linux IRQ number
|
||||
space.
|
||||
|
||||
The irq_domain library adds mapping between hwirq and IRQ numbers on
|
||||
The irq_domain library adds a mapping between hwirq and IRQ numbers on
|
||||
top of the irq_alloc_desc*() API. An irq_domain to manage mapping is
|
||||
preferred over interrupt controller drivers open coding their own
|
||||
reverse mapping scheme.
|
||||
|
|
@ -38,7 +38,7 @@ irq_domain also implements translation from an abstract irq_fwspec
|
|||
structure to hwirq numbers (Device Tree and ACPI GSI so far), and can
|
||||
be easily extended to support other IRQ topology data sources.
|
||||
|
||||
irq_domain usage
|
||||
irq_domain Usage
|
||||
================
|
||||
|
||||
An interrupt controller driver creates and registers an irq_domain by
|
||||
|
|
@ -76,7 +76,7 @@ If the driver has the Linux IRQ number or the irq_data pointer, and
|
|||
needs to know the associated hwirq number (such as in the irq_chip
|
||||
callbacks) then it can be directly obtained from irq_data->hwirq.
|
||||
|
||||
Types of irq_domain mappings
|
||||
Types of irq_domain Mappings
|
||||
============================
|
||||
|
||||
There are several mechanisms available for reverse mapping from hwirq
|
||||
|
|
@ -101,7 +101,7 @@ map are fixed time lookup for IRQ numbers, and irq_descs are only
|
|||
allocated for in-use IRQs. The disadvantage is that the table must be
|
||||
as large as the largest possible hwirq number.
|
||||
|
||||
The majority of drivers should use the linear map.
|
||||
The majority of drivers should use the Linear map.
|
||||
|
||||
Tree
|
||||
----
|
||||
|
|
@ -189,7 +189,7 @@ that the driver using the simple domain call irq_create_mapping()
|
|||
before any irq_find_mapping() since the latter will actually work
|
||||
for the static IRQ assignment case.
|
||||
|
||||
Hierarchy IRQ domain
|
||||
Hierarchy IRQ Domain
|
||||
--------------------
|
||||
|
||||
On some architectures, there may be multiple interrupt controllers
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user