Subject: [PATCH v11 3/6] PCI: designware: Add ARM64 support

From: [email-masked] (Bjorn Helgaas)
Date: Thu, 22 Oct 2015 13:28:53 -0500

Hi Zhou,

On Fri, Oct 16, 2015 at 06:23:38PM +0800, Zhou Wang wrote:
> This patch tries to unify ARM32 and ARM64 PCIe in designware driver. Delete
> function dw_pcie_setup, dw_pcie_scan_bus, dw_pcie_map_irq and struct hw_pci,
> move related operations to dw_pcie_host_init.
> 
> This patch also try to use of_pci_get_host_bridge_resources for ARM32 and ARM64
> according to the suggestion for Gabriele[1]
> 
> This patch reverts commit f4c55c5a3f7f ("PCI: designware: Program ATU with
> untranslated address") based on 1/6 in this series. we delete *_mod_base in
> pcie-designware. This was discussed in [2]
> 
> I have compiled the driver with multi_v7_defconfig. However, I don't have
> ARM32 PCIe related board to do test. It will be appreciated if someone could
> help to test it.

There's a lot going on this patch.  Can you split it up at all?  For
example, maybe:

  - Revert f4c55c5a3f7f (and move to right after the related [1/6]
    patch

  - Switch to using of_pci_get_host_bridge_resources()

  - Replacing the call of pci_common_init_dev() with equivalent code in
    pcie-designware.c.  This one in particular needs to be easy to review.
    It's not clear to me that this new code is equivalent.  For example,
    pci_common_init_dev() calls pcie_bus_configure_settings(), but I don't
    see that in your new code.

You already have acks and tested-by, so I assume you probably did all the
right things, but it will help me out a lot if you can break it into
bite-sized pieces.  It's always better to make patches too small rather
than too large, because it's trivial to squash them back together if
needed.  I think we're going to have some conflicts between this and other
pcie-designware.c changes, and small patches will also make those easier to
resolve.

Bjorn