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 The function will return a pointer to the irq_domain on success. The caller
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
82 Types of irq_domain mappings
123 The irq_domain maintains a radix tree map from hwirq numbers to Linux
231 hardware architecture, an irq_domain data structure is built for each
233 When building irq_domain hierarchy, the irq_domain near to the device is
234 child and the irq_domain near to CPU is parent. So a hierarchy structure
237 CPU Vector irq_domain (root irq_domain to manage CPU vectors)
240 Interrupt Remapping irq_domain (manage irq_remapping entries)
243 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
245 There are four major interfaces to use hierarchy irq_domain:
256 Following changes are needed to support hierarchy irq_domain:
258 1) a new field 'parent' is added to struct irq_domain; it's used to
259 maintain irq_domain hierarchy information.
262 is used to store irq_domain pointer and hardware irq number.
264 irq_domain operations.
266 With support of hierarchy irq_domain and hierarchy irq_data ready, an
267 irq_domain structure is built for each interrupt controller, and an
268 irq_data structure is allocated for each irq_domain associated with an
279 For an interrupt controller driver to support hierarchy irq_domain, it
288 they are unused with hierarchy irq_domain.
290 Hierarchy irq_domain is in no way x86 specific, and is heavily used to