Messages in this thread | | | Date | Wed, 19 Nov 2014 11:40:56 +0800 | From | "Yun Wu (Abel)" <> | Subject | Re: [patch 08/16] genirq: Introduce callback irq_chip.irq_write_msi_msg |
| |
On 2014/11/19 1:21, Marc Zyngier wrote:
> 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. >
Indeed, and I never said Jiang's patches don't work, I was just thinking that they were not that perfect.
Thanks, Abel
| |