Lines Matching refs:irq_domain
2 The irq_domain interrupt number mapping library
32 The irq_domain library adds mapping between hwirq and IRQ numbers on
33 top of the irq_alloc_desc*() API. An irq_domain to manage mapping is
37 irq_domain also implements translation from an abstract irq_fwspec
41 irq_domain usage
44 An interrupt controller driver creates and registers an irq_domain by
47 will return a pointer to the irq_domain on success. The caller must
50 In most cases, the irq_domain will begin empty without any mappings
51 between hwirq and IRQ numbers. Mappings are added to the irq_domain
52 by calling irq_create_mapping() which accepts the irq_domain and a
69 Types of irq_domain mappings
110 The irq_domain maintains a radix tree map from hwirq numbers to Linux
204 hardware architecture, an irq_domain data structure is built for each
206 When building irq_domain hierarchy, the irq_domain near to the device is
207 child and the irq_domain near to CPU is parent. So a hierarchy structure
210 CPU Vector irq_domain (root irq_domain to manage CPU vectors)
213 Interrupt Remapping irq_domain (manage irq_remapping entries)
216 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
218 There are four major interfaces to use hierarchy irq_domain:
229 Following changes are needed to support hierarchy irq_domain:
231 1) a new field 'parent' is added to struct irq_domain; it's used to
232 maintain irq_domain hierarchy information.
235 is used to store irq_domain pointer and hardware irq number.
237 irq_domain operations.
239 With support of hierarchy irq_domain and hierarchy irq_data ready, an
240 irq_domain structure is built for each interrupt controller, and an
241 irq_data structure is allocated for each irq_domain associated with an
252 For an interrupt controller driver to support hierarchy irq_domain, it
261 they are unused with hierarchy irq_domain.
263 Hierarchy irq_domain is in no way x86 specific, and is heavily used to