On Thu, Apr 20, 2017 at 04:24:39PM +0200, Marc Gonzalez wrote: > Hello, > > This patch was split in two, to ease review of two orthogonal > parts (MSI controller and host bridge). NB: the patch is > just split in two where host bridge support starts. The split is backwards. The first patch should add basic host bridge support that is functional, though lacking MSI support. The second should add the MSI support. > Changes from v3 to v4 > > In the MSI part: > - Support 256 MSIs instead of only 32 > - Define tango_{ack,mask,unmask} callbacks for the HW irq_chip > - Use a spinlock instead of a mutex > - Rename msi_mask register to msi_enable > > In the host bridge part: > - Move several quirk-handling snippets out of the config space read function > - Check whether the PCIe link is up at probe-time > > Other files > - Let the framework compute the bus-range from the config space width > - Be slightly more verbose in the Kconfig help > > > What has *not* changed, waiting from feedback from Bjorn: > > - Pray that config and mem space accesses NEVER occur concurrently. This is a pretty major issue that needs to be addressed in a more concrete way than praying. > - Using of_device_is_compatible() vs of_device_get_match_data() > > > Marc Gonzalez (2): > PCI: Add tango MSI controller support > PCI: Add tango PCIe host bridge support > > Documentation/devicetree/bindings/pci/tango-pcie.txt | 32 ++++ > drivers/pci/host/Kconfig | 8 + > drivers/pci/host/Makefile | 1 + > drivers/pci/host/pcie-tango.c | 393 +++++++++++++++++++++++++++++++++++++++ > include/linux/pci_ids.h | 2 + > 5 files changed, 436 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pci/tango-pcie.txt > create mode 100644 drivers/pci/host/pcie-tango.c > > -- > 2.11.0