[U-Boot] [PATCH 0/7 v3] support mapping PCI device ids to stream ids for MSIs

Stuart Yoder
2016-02-26T16:31:55Z

A binding for PCI nodes has been finalized specifying how PCI
device IDs can be mapped to MSI specifiers. See
Documentation/devicetree/bindings/pci/pci-msi.txt in the kernel.

For ls2080a and similar Layerscape SoCs, the MSI specifier is the stream
id. A programmable table (LUT) in the PCI controller defines the hardware
mapping of PCI requester IDs to stream IDs.

This patch series implements support for this mapping.

Patch 1 removes the obsolete available-stream-id support.
Patch 2 updates stream ID partitioning info to be current
Patch 3 updates pci.h so pci_get_hose_head() is available
Patch 4 implements support for programming the LUT
Patch 5 implements a simple stream ID allocator for PCI
Patch 6 implements a function to set msi-map properties
Patch 7 implements a function to iterate over all PCI buses
and set up a LUT entry and msi-map for all discovered
devices

This patch series enables MSIs on ls2080a on v4.5-rc5 and later
kernels. The obsolete support removed was unused in any
upstream kernels.

-v2 changes
-in patch 7 removed skip of the host bridge when scanning the
bus
-v3 changes
-patch 4: moved LUT #defines to immap_lsch3.h, made index
allocator return an int
-patch 5: return 0xffffffff on error
-patch 7: fixed return value checks

Stuart Yoder (7):
armv8: ls2080a: remove obsolete stream ID partitioning support
armv8: ls2080a: update stream ID partitioning info
pci: make pci_get_hose_head() available to external users
pci/layerscape: add support for LUT
pci/layerscape: add stream ID allocator
pci/layerscape: fdt: function to set msi-map entries
pci/layerscape: set LUT and msi-map for discovered PCI devices

arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 113 ----------
.../include/asm/arch-fsl-layerscape/immap_lsch3.h | 4 +
.../asm/arch-fsl-layerscape/ls2080a_stream_id.h | 55 +++--
drivers/pci/pcie_layerscape.c | 215 +++++++++++++-------
include/pci.h | 1 +
5 files changed, 184 insertions(+), 204 deletions(-)

--
1.7.9.5