Messages in this thread | | | Date | Tue, 18 Nov 2014 22:15:05 +0800 | From | Jiang Liu <> | Subject | Re: [patch 08/16] genirq: Introduce callback irq_chip.irq_write_msi_msg |
| |
On 2014/11/18 22:03, Jiang Liu wrote: > On 2014/11/18 21:52, Yun Wu (Abel) wrote: >> On 2014/11/18 21:43, Jiang Liu wrote: >> >>> On 2014/11/18 21:33, Yun Wu (Abel) wrote: >>> Hi Yun, >>> We provide an irq_chip for each type of interrupt controller >>> instead of devices. For the example mentioned above, if device A >>> and Group B has different interrupt controllers, we just need to >>> implement irq_chip_A and irq_chip_B and set irq_chip.irq_write_msi_msg() >>> to suitable callbacks. >>> The framework already achieves what you you want:) >> >> What if device A and group B have the same interrupt controller? > Device doesn't care about interrupt controllers, it just cares about > interrupts used by itself. It's the interrupt source (controller) > enumerators' responsibility to discover interrupt source, associate > methods to control the interrupt source and assign irq numbers for > interrupt sources. > There are two ways to associate irq numbers with device: > 1) arch code/bus drivers statically assigns irq number for devices > when creating device objects, such as PCI legacy interrupt > (INTA-INTD), IOAPIC interrupts. > 2) device drivers ask interrupt source enumerators to dynamically > create irq numbers, such pci_enable_msix_range() and friends. > So device driver definitely doesn't need to known about irq_chip > methods to control interrupt sources. Please refer to http://www.xisanqi.net/year/2014/pdf/2014-pdf-09-reconstruct-x86-interrupt-architecture.pdf for more information about the hierarchy irqdomain background:)
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >
| |