[U-Boot] [PATCH 0/5 v6] support mapping PCI device ids to stream	ids for MSIs
    Stuart Yoder 
    stuart.yoder at nxp.com
       
    Thu Mar 10 17:51:51 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.
Version 6 of the series squashes patches 4-7 together to avoid
static functions defined but not used.  This results in
5 patches:
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 defines LUT register offsets
Patch 5 implements a function to iterate over all PCI buses
        and set up a LUT entry and msi-map for all discovered
        devices.  Helper functions allocate LUT entries,
        streamIDs, and append msi-map entries.
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
-v4 changes
   -put all device ID to stream ID mapping under LS2 #ifdefs
-v5 changes
   -check CONFIG_FSL_LSCH3 instead of SoC specific defines
-v6 changes
   -squashed patches 4-7 together, split out LUT #defines
    into separate patch, replaced a remaining SoC define
    with CONFIG_FSL_LSCH3
Stuart Yoder (5):
  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 defines for LUT
  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                      |  217 +++++++++++++-------
 include/pci.h                                      |    1 +
 5 files changed, 186 insertions(+), 204 deletions(-)
-- 
1.7.9.5
    
    
More information about the U-Boot
mailing list