On Wed, Mar 18, 2015 at 11:52 AM, Marc Zyngier <marc.zyngier@xxxxxxx> wrote: > On 18/03/15 18:29, Duc Dang wrote: >> On Wed, Mar 18, 2015 at 11:05 AM, Marc Zyngier <marc.zyngier@xxxxxxx> wrote: >>> On 04/03/15 19:39, Duc Dang wrote: >>>> X-Gene v1 SOC supports total 2688 MSI/MSIX vectors coalesced into >>>> 16 HW IRQ lines. >>>> >>>> Signed-off-by: Duc Dang <dhdang@xxxxxxx> >>>> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> >>> >>> I just had a quick look at this, and this seems to be going in the exact >>> opposite direction compared to what we now have on arm64, where we move >>> away from using struct msi_controller for most thing, and implement PCI >>> MSI/MSIX in a generic way, using MSI domains. >>> >>> I suggest you have a look at how GICv2m and GICv3 ITS implement the MSI >>> support. You can also have a look at what I did for the Tegra MSI >>> controller in this patch: >>> >>> https://git.kernel.org/cgit/linux/kernel/git/maz/arm-platforms.git/commit/?h=irq/kill-msi-controller&id=83b3602fcee7972b9d549ed729b56ec28de16081 >>> >>> Eventually, the plan is to kill msi_controller entirely, so introducing >>> new drivers that rely on it is not something I'm eager to see. >> >> Thanks, Marc. >> >> X-Gene 1 MSI is handled by separate MSI controller block, so its >> driver implementation is different from GICv2m and GICv3. I will refer > > It will certainly be different in the sense that you won't use a stacked > domain on top of the GIC. But what I want to see is the use of a generic > pci_msi_domain on top of an irq_domain, just like we have on v2m and v3. > Thomas has also been vocal enough about that in the past, and x86 is > going down that road as well. > >> to what you did for Tegra MSI, but I don't see your latest changes in >> 4.0-rc4. Is the change you made for Tegra MSI going to mainline soon? > > Not yet. As you can see in this branch, this relies on some other > cleanups. But you can already convert most of your driver and put it in > the shape that matches what we have for v2m and v3. Once the required > cleanups are in, I'll remove the last traces of msi_controller myself if > necessary. > Hi Marc, Bjorn, I follow Marc's suggestion and convert my X-Gene 1 MSI driver to remove msi_controller struct and use generic pci_msi_domain on top of an irq_domain. The code requires Marc's changes in irq/kill-msi-controller branch to be compiled and function correctly, so I plan to post the patch on top of Marc's tree. Please let me know if you think I should have different approach to post this patch. Another question I have is when do you plan to roll out this hierarchy irq domain implementation for MSI, as I see some of Marc's changes to kill msi_controller structure and implement MSI irq domain still does not get into Bjorn's tree. Regards, Duc Dang. > Thanks, > > M. > -- > Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html