On Fri, Sep 26, 2014 at 02:08:23PM -0700, Tanmay Inamdar wrote:
> This patch adds support for AppliedMicro X-Gene PCIe host controller. The
> driver is tested on X-Gene platform with different gen1/2/3 PCIe endpoint
> cards.
>
> X-Gene PCIe controller driver has depedency on the pcie arm64 arch support.
> Liviu Dudau from ARM has sent a patch set for pcie arm64 arch support and
> support for creating generic pcie bridge from device tree. Liviu's patches
> are available here
> https://lkml.org/lkml/2014/9/23/852
>
> If someone wishes to test PCIe on X-Gene with this patch set, above mentioned
> patches from Liviu must be applied before the patches in this patch set. Also
> please use latest xgene u-boot firmware.
I applied these on pci/host-xgene (based on pci/host-generic). I hope to
merge these for v3.18. It'd be nice to have a device tree person like Arnd
or Rob take a look at the arch/arm64/boot/dts/ bits.
> changes since V9:
> 1. Remove 'xgene_pcie_fixup_bridge' and hide the bridge BAR0 and BAR1 by
> faking bridge's config space read and write to BAR0 and BAR1.
> 2. Remove whitespace and fit in one line.
> 3. Follow usual block comment.
> 4. user '%pR' for printing out resource info
> 5. Add device and vendor ID programming to make driver operable with older
> firmware.
>
> changes since V8:
> 1. Add 'dma-coherent' attribute in device node.
>
> changes since V7:
> 1. Fix outbound region mapping for IO region. Thanks Liviu for the catch.
>
> changes since V6:
> 1. Port driver to changed interface as per Liviu's v10 series.
>
> changes since V5:
> 1. Port driver to changed interface of 'of_create_pci_host_bridge'
> 2. Fix the prefetch bit setting
> 3. Removed bunch of register programming which is already done by firmware
>
> changes since V4:
> 1. fix section mismatch warnings
> 2. fix the patch description
> 3. fix indentation
> 4. update read/write cfg functions by passing both addr and offset.
> 5. use 'time_before' for timeout.
> 6. remove unnecessary 'IS_ERR_OR_NULL'. Keep 'IS_ERR' for 'clk_get'
> 7. remove BUG_ON for pci_ioremap_io.
>
> changes since V3:
> 1. remove 'struct hw_pci' and supporting ops in hw_pci
> 2. add code to create the host bridge from dts
> 3. add code to scan the the host bridge
> 4. modify outbound windows setup function to get resource information from
> 'bridge->windows'
> 5. add compatible string in pcie dts node with current X-Gene SOC name.
>
> changes since V2:
> 1. redefined each PCI port in different PCI domain correctly.
> 2. removed setup_lane and setup_link functions from driver.
> 3. removed scan_bus wrapper and set_primary_bus hack.
> 4. added pci_ioremap_io for io resources.
>
> changes since V1:
> 1. added PCI domain support
> 2. reading cpu and pci addresses from device tree to configure regions.
> 3. got rid of unnecessary wrappers for readl and writel.
> 4. got rid of endpoint configuration code.
> 5. added 'dma-ranges' property support to read inbound region configuration.
> 6. renamed host driver file to 'pci-xgene.c' from 'pcie-xgene.c'
> 7. dropped 'clock-names' property from bindings
> 8. added comments whereever requested.
>
> Tanmay Inamdar (4):
> pci:host: APM X-Gene PCIe host controller driver
> arm64: dts: APM X-Gene PCIe device tree nodes
> dt-bindings: pci: xgene pcie device tree bindings
> MAINTAINERS: entry for APM X-Gene PCIe host driver
>
> .../devicetree/bindings/pci/xgene-pci.txt | 57 ++
> MAINTAINERS | 8 +
> arch/arm64/boot/dts/apm-mustang.dts | 8 +
> arch/arm64/boot/dts/apm-storm.dtsi | 165 ++++++
> drivers/pci/host/Kconfig | 10 +
> drivers/pci/host/Makefile | 1 +
> drivers/pci/host/pci-xgene.c | 659 +++++++++++++++++++++
> 7 files changed, 908 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pci/xgene-pci.txt
> create mode 100644 drivers/pci/host/pci-xgene.c
>
> --
> 1.9.1
>
On Wednesday 01 October 2014 13:14:03 Bjorn Helgaas wrote:
> On Fri, Sep 26, 2014 at 02:08:23PM -0700, Tanmay Inamdar wrote:
> > This patch adds support for AppliedMicro X-Gene PCIe host controller. The
> > driver is tested on X-Gene platform with different gen1/2/3 PCIe endpoint
> > cards.
> >
> > X-Gene PCIe controller driver has depedency on the pcie arm64 arch support.
> > Liviu Dudau from ARM has sent a patch set for pcie arm64 arch support and
> > support for creating generic pcie bridge from device tree. Liviu's patches
> > are available here
> > https://lkml.org/lkml/2014/9/23/852
> >
> > If someone wishes to test PCIe on X-Gene with this patch set, above mentioned
> > patches from Liviu must be applied before the patches in this patch set. Also
> > please use latest xgene u-boot firmware.
>
> I applied these on pci/host-xgene (based on pci/host-generic). I hope to
> merge these for v3.18. It'd be nice to have a device tree person like Arnd
> or Rob take a look at the arch/arm64/boot/dts/ bits.
Those changes should normally go through the arm-soc tree, but we
have not done that so far for arm64 stuff, so I'm not blaming anybody.
The dts changes all look good to me, and I think it's ok to have them
go through your tree this time.
Acked-by: Arnd Bergmann <[email protected]>
In the future, we should all have an eye on this more to ensure that
the .dts changes all go through arm-soc.
Arnd
On Thu, Oct 2, 2014 at 6:20 AM, Arnd Bergmann <[email protected]> wrote:
> On Wednesday 01 October 2014 13:14:03 Bjorn Helgaas wrote:
>> On Fri, Sep 26, 2014 at 02:08:23PM -0700, Tanmay Inamdar wrote:
>> > This patch adds support for AppliedMicro X-Gene PCIe host controller. The
>> > driver is tested on X-Gene platform with different gen1/2/3 PCIe endpoint
>> > cards.
>> >
>> > X-Gene PCIe controller driver has depedency on the pcie arm64 arch support.
>> > Liviu Dudau from ARM has sent a patch set for pcie arm64 arch support and
>> > support for creating generic pcie bridge from device tree. Liviu's patches
>> > are available here
>> > https://lkml.org/lkml/2014/9/23/852
>> >
>> > If someone wishes to test PCIe on X-Gene with this patch set, above mentioned
>> > patches from Liviu must be applied before the patches in this patch set. Also
>> > please use latest xgene u-boot firmware.
>>
>> I applied these on pci/host-xgene (based on pci/host-generic). I hope to
>> merge these for v3.18. It'd be nice to have a device tree person like Arnd
>> or Rob take a look at the arch/arm64/boot/dts/ bits.
>
> Those changes should normally go through the arm-soc tree, but we
> have not done that so far for arm64 stuff, so I'm not blaming anybody.
>
> The dts changes all look good to me, and I think it's ok to have them
> go through your tree this time.
>
> Acked-by: Arnd Bergmann <[email protected]>
>
> In the future, we should all have an eye on this more to ensure that
> the .dts changes all go through arm-soc.
The arch/arm64/boot/dts patch is at the tip of my branch, and I'd be
more than happy to drop it. It would be nice to have it in v3.18
along with the driver, though, so I'll keep it until somebody chimes
in to put it in arm-soc.
Bjorn
On Thu, Oct 2, 2014 at 7:36 AM, Bjorn Helgaas <[email protected]> wrote:
> On Thu, Oct 2, 2014 at 6:20 AM, Arnd Bergmann <[email protected]> wrote:
>> On Wednesday 01 October 2014 13:14:03 Bjorn Helgaas wrote:
>>> On Fri, Sep 26, 2014 at 02:08:23PM -0700, Tanmay Inamdar wrote:
>>> > This patch adds support for AppliedMicro X-Gene PCIe host controller. The
>>> > driver is tested on X-Gene platform with different gen1/2/3 PCIe endpoint
>>> > cards.
>>> >
>>> > X-Gene PCIe controller driver has depedency on the pcie arm64 arch support.
>>> > Liviu Dudau from ARM has sent a patch set for pcie arm64 arch support and
>>> > support for creating generic pcie bridge from device tree. Liviu's patches
>>> > are available here
>>> > https://lkml.org/lkml/2014/9/23/852
>>> >
>>> > If someone wishes to test PCIe on X-Gene with this patch set, above mentioned
>>> > patches from Liviu must be applied before the patches in this patch set. Also
>>> > please use latest xgene u-boot firmware.
>>>
>>> I applied these on pci/host-xgene (based on pci/host-generic). I hope to
>>> merge these for v3.18. It'd be nice to have a device tree person like Arnd
>>> or Rob take a look at the arch/arm64/boot/dts/ bits.
>>
>> Those changes should normally go through the arm-soc tree, but we
>> have not done that so far for arm64 stuff, so I'm not blaming anybody.
>>
>> The dts changes all look good to me, and I think it's ok to have them
>> go through your tree this time.
>>
>> Acked-by: Arnd Bergmann <[email protected]>
>>
>> In the future, we should all have an eye on this more to ensure that
>> the .dts changes all go through arm-soc.
>
> The arch/arm64/boot/dts patch is at the tip of my branch, and I'd be
> more than happy to drop it. It would be nice to have it in v3.18
> along with the driver, though, so I'll keep it until somebody chimes
> in to put it in arm-soc.
>
Thanks Bjorn and Arnd.
> Bjorn