[PATCH v5 9/9] PCI: xgene: Use pci_scan_root_bus_msi()
Ley Foon Tan
lftan.linux at gmail.com
Thu Aug 6 19:18:45 PDT 2015
On Fri, Aug 7, 2015 at 12:53 AM, Marc Zyngier <marc.zyngier at arm.com> wrote:
> On 06/08/15 17:41, Ley Foon Tan wrote:
>> On Thu, Aug 6, 2015 at 11:26 PM, Marc Zyngier <marc.zyngier at arm.com> wrote:
>>> Hi Bjorn,
>>>
>>> On 04/08/15 22:54, Bjorn Helgaas wrote:
>>>> Previously there was no way to specify the MSI controller when creating a
>>>> new PCI root bus, so we had to create the bus, set its MSI controller, then
>>>> scan the bus. With the new pci_scan_root_bus_msi() interface, we can
>>>> specify the MSI controller up front and get rid of that intermediate step.
>>>>
>>>> Look up the MSI controller first, then use pci_scan_root_bus_msi() to
>>>> create and scan the root PCI bus.
>>>
>>> I'm wondering about these XGene patches.
>>>
>>> With the code that is queued for v4.3 in tip/irq/core, the X-Gene MSI
>>> driver doesn't export a struct msi_controller anymore, and entirely
>>> relies on IRQ domains to identify to be matched with the actual PCI driver.
>>>
>>> Do you intend this as a cleanup until everything lands in mainline? At
>>> that point, we'd be able to remove all traces of struct msi_controller
>>> from this driver.
>>>
>>> Alternatively, we could ask tglx to add an extra patch to the existing
>>> queue in order to clean up pci-xgene.c (nuking the whole
>>> xgene_pcie_msi_enable function).
>>>
>>> Thoughts?
>>
>> In pcie-altera driver, it uses pci_scan_root_bus() and it doesn't call
>> to of_pci_find_msi_chip_by_node() to retrieve msi_controller struct as
>> well.
>> But, the msi domain stuff is still working. Should I change it to
>> pci_scan_root_bus_msi()?
>
> If you're not using struct msi_controller, I don't see a reason to use
> pci_scan_root_bus_msi(). The MSI irq domain patches are queued for 4.3,
> and I don't believe your driver will be merged before that.
>
> Eventually, I'd like to kill msi_controller entirely. It is completely
> redundant with the use of irq domains.
>
Got it. It doesn't require struct msi_controller.
Thanks.
Regards
Ley Foon
More information about the linux-arm-kernel
mailing list