[PATCH v4 0/2] Handle Cavium ThunderX2 PCI topology quirk
Bjorn Helgaas
helgaas at kernel.org
Tue Apr 11 06:44:07 PDT 2017
[+cc David]
I forgot to mention that I'm also hoping for an ack from David, since
he's listed as the maintainer of the ThunderX drivers.
On Mon, Apr 03, 2017 at 01:15:02PM +0000, Jayachandran C wrote:
> Hi Bjorn, Alex,
>
> Sending this again (with a trivial fix to author name), please review.
> Updated summary below:
>
> Here is v4 of the patchset to handle the PCIe topology quirk of Cavium
> ThunderX2 systems (previously known as Broadcom Vulcan).
>
> The earlier discussions on this can be seen at:
> http://www.spinics.net/lists/linux-pci/msg51001.html
> https://patchwork.ozlabs.org/patch/582633/ and
> https://lists.linuxfoundation.org/pipermail/iommu/2016-June/017681.html
>
> The earlier discussion on this patchset ended with a suggestion that it
> may be possible to fix up this quirk by handling the issue in the
> function argument of pci_for_each_dma_alias(). But at that point we did
> not have the codebase to make the changes since the full ACPI and OF code
> for SMMU and GIC ITS was not upstream.
>
> Now that the changes are upstream, I tried to fix it in both the SMMU
> and the GIC ITS code based on this suggestion, the changes needed are at:
> https://github.com/jchandra-cavm/linux/commits/rid-xlate-fixup
>
> The problems with this approach are:
> - of the 14 uses of pci_for_each_dma_alias in the function in the kernel
> tree, I have to fixup 6 callers (which is all but one ofthe callers
> outside x86)
> - 4 of these can be reasonably handled (please see the github repo above),
> but the calls in drivers/irqchip/irq-gic-v3-its-pci-msi.c and
> drivers/iommu/iommu.c cannot be reasonably fixed up.
> - Even without the 2 above two changes I can get it to work for now.
> But pci_for_each_dma_alias does not work as expected on this platform
> and we have to be aware of that for all future uses of the function.
>
> For now, I have ruled out the approach, and I have rebased the earlier
> patch on to 4.11-rc and submitting again for review. The changes are:
>
> v3->v4:
> - new address of author
>
> v2>v3:
> - changed device flag name from PCI_DEV_FLAGS_DMA_ALIAS_ROOT to
> PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT
> - updated commit message to make the quirk clearer.
>
> Let me know your comments and suggestions.
>
> Thanks,
> JC.
>
>
> Jayachandran C (2):
> PCI: Add device flag PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT
> PCI: quirks: Fix ThunderX2 dma alias handling
>
> drivers/pci/quirks.c | 14 ++++++++++++++
> drivers/pci/search.c | 4 ++++
> include/linux/pci.h | 2 ++
> 3 files changed, 20 insertions(+)
>
> --
> 2.7.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list