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

Stuart Yoder stuart.yoder at nxp.com
Mon Feb 22 16:25:42 CET 2016


From: Stuart Yoder <stuart.yoder at nxp.com>

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.

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 ----------
 .../asm/arch-fsl-layerscape/ls2080a_stream_id.h    |   55 +++--
 drivers/pci/pcie_layerscape.c                      |  226 ++++++++++++++------
 include/pci.h                                      |    1 +
 4 files changed, 191 insertions(+), 204 deletions(-)

-- 
1.7.9.5



More information about the U-Boot mailing list