Messages in this thread | | | From | Marc Zyngier <> | Subject | Re: [patch 08/16] genirq: Introduce callback irq_chip.irq_write_msi_msg | Date | Tue, 18 Nov 2014 17:21:46 +0000 |
| |
On Tue, Nov 18 2014 at 2:34:44 pm GMT, "Yun Wu (Abel)" <wuyun.wu@huawei.com> wrote: > On 2014/11/18 22:19, Thomas Gleixner wrote: > >> On Tue, 18 Nov 2014, Yun Wu (Abel) wrote: >>> On 2014/11/18 21:43, Jiang Liu wrote: >>>> 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? >> >> Well, if write_msg() is different they are hardly the same. >> > > The GICv3 ITS now deals with both PCI and non PCI message interrupts. > We can't require the new devices behave writing message in a same way. > What we can do is to abstract all the endpoints' behavior, and I > provided one abstraction in an earlier reply.
This is why the framework gives you the opportunity to provide methods that: - compose the message - program the message into the device
None of that has to be PCI specific, and gives you a clean abstraction. The framework only gives you a number of shortcuts for PCI MSI, because that's what most people care about.
Thanks,
M. -- Jazz is not dead. It just smells funny.
| |