1. 12 Dec, 2016 33 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-vmd' into next · b08d2e61
      Bjorn Helgaas authored
      * pci/host-vmd:
        PCI: vmd: Fix suspend handlers defined-but-not-used warning
        PCI: vmd: Use SRCU as a local RCU to prevent delaying global RCU
        PCI: vmd: Remove unnecessary pci_set_drvdata()
      b08d2e61
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-tegra' into next · d34efd22
      Bjorn Helgaas authored
      * pci/host-tegra:
        arm64: tegra: Enable PCIe on Jetson TX1
        arm64: tegra: Add PCIe host bridge on Tegra210
        PCI: tegra: Enable the driver on 64-bit ARM
        PCI: tegra: Add Tegra210 support
        PCI: tegra: Implement PCA enable workaround
        dt-bindings: pci: tegra: Add Tegra210 support
        PCI: tegra: Use new pci_register_host_bridge() interface
        PCI: Export host bridge registration interface
        PCI: Allow driver-specific data in host bridge
        PCI: Add pci_register_host_bridge() interface
      d34efd22
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-spear' into next · f77b3244
      Bjorn Helgaas authored
      * pci/host-spear:
        PCI: spear: Use builtin_platform_driver() to simplify the code
      f77b3244
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-rockchip' into next · 44b83b32
      Bjorn Helgaas authored
      * pci/host-rockchip:
        PCI: rockchip: Move the deassert of pm/aclk/pclk after phy_init()
        PCI: rockchip: Split out rockchip_cfg_atu()
        PCI: rockchip: Clean up bit definitions for PCIE_RC_CONFIG_LCS
        PCI: rockchip: Correct the use of FTS mask
        PCI: rockchip: Remove the pointer to L1 substate cap
        PCI: rockchip: Specify the link capability
        PCI: rockchip: Fix negotiated lanes calculation
        PCI: rockchip: Add Kconfig COMPILE_TEST
        PCI: rockchip: Mark RC as common clock architecture
        PCI: rockchip: Provide captured slot power limit and scale
        PCI: rockchip: Add three new resets as required properties
        PCI: Don't attempt to claim shadow copies of ROM
        PCI: designware: Check for iATU unroll support after initializing host
        PCI: qcom: Fix pp->dev usage before assignment
        PCI: designware-plat: Update author email address
        PCI: layerscape: Fix drvdata usage before assignment
        PCI: designware-plat: Change maintainer to Jose Abreu
      44b83b32
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-rcar' into next · a1d9190d
      Bjorn Helgaas authored
      * pci/host-rcar:
        PCI: rcar: Add gen3 fallback compatibility string for pcie-rcar
        PCI: rcar: Use gen2 fallback compatibility last
        PCI: rcar-gen2: Use gen2 fallback compatibility last
      a1d9190d
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-qcom' into next · aee10cd4
      Bjorn Helgaas authored
      * pci/host-qcom:
        PCI: qcom: Add support for MSM8996 PCIe controller
      aee10cd4
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-layerscape' into next · 46275d43
      Bjorn Helgaas authored
      * pci/host-layerscape:
        PCI: layerscape: Add LS1046a support
        PCI: layerscape: Remove redundant error message from ls_pcie_probe()
      46275d43
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-iproc' into next · f887e24e
      Bjorn Helgaas authored
      * pci/host-iproc:
        PCI: iproc: Skip check for legacy IRQ on PAXC buses
        PCI: iproc: Fix incorrect MSI address alignment
        PCI: iproc: Add support for the next-gen PAXB controller
        PCI: iproc: Add PAXBv2 binding info
        PCI: iproc: Add inbound DMA mapping support
        PCI: iproc: Add optional dma-ranges
        PCI: iproc: Make outbound mapping code more generic
        PCI: iproc: Remove redundant outbound properties
        PCI: iproc: Add PAXC v2 support
        PCI: iproc: Add PAXCv2 related binding
        PCI: iproc: Fix exception with multi-function devices
        PCI: iproc: Add BCMA type
        PCI: iproc: Do not reset PAXC when initializing the driver
        PCI: iproc: Improve core register population
      f887e24e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-imx6' into next · 36e649f3
      Bjorn Helgaas authored
      * pci/host-imx6:
        MAINTAINERS: Add devicetree binding to PCI i.MX6 entry
        MAINTAINERS: Update Richard Zhu's email address
      36e649f3
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-hv' into next · b0b89759
      Bjorn Helgaas authored
      * pci/host-hv:
        PCI: hv: Allocate physically contiguous hypercall params buffer
        PCI: hv: Delete the device earlier from hbus->children for hot-remove
        PCI: hv: Fix hv_pci_remove() for hot-remove
        PCI: hv: Use the correct buffer size in new_pcichild_device()
        PCI: hv: Make unnecessarily global IRQ masking functions static
      b0b89759
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-hisi' into next · 9fb7454b
      Bjorn Helgaas authored
      * pci/host-hisi:
        PCI: hisi: Remove redundant error message from hisi_pcie_probe()
      9fb7454b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-altera' into next · a739d56d
      Bjorn Helgaas authored
      * pci/host-altera:
        PCI: altera: Remove redundant error message in altera_pcie_parse_dt()
        PCI: altera: Use builtin_platform_driver() to simplify the code
      a739d56d
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host' into next · b5332d00
      Bjorn Helgaas authored
      * pci/host:
        of/pci: Add of_pci_get_max_link_speed() to parse max-link-speed from DT
        Documentation/devicetree: Add PCIe max-link-speed property
      b5332d00
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' into next · 25831571
      Bjorn Helgaas authored
      * pci/virtualization:
        PCI: Add comments about ROM BAR updating
        PCI: Decouple IORESOURCE_ROM_ENABLE and PCI_ROM_ADDRESS_ENABLE
        PCI: Remove pci_resource_bar() and pci_iov_resource_bar()
        PCI: Don't update VF BARs while VF memory space is enabled
        PCI: Separate VF BAR updates from standard BAR updates
        PCI: Update BARs using property bits appropriate for type
        PCI: Ignore BAR updates on virtual functions
        PCI: Do any VF BAR updates before enabling the BARs
        PCI: Support INTx masking on ConnectX-4 with firmware x.14.1100+
        PCI: Convert Mellanox broken INTx quirks to be for listed devices only
        PCI: Convert broken INTx masking quirks from HEADER to FINAL
        net/mlx4_core: Use device ID defines
        PCI: Add Mellanox device IDs
      25831571
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pm' into next · daaed104
      Bjorn Helgaas authored
      * pci/pm:
        x86/platform/intel-mid: Constify mid_pci_platform_pm
        PCI: pciehp: Add runtime PM support for PCIe hotplug ports
        ACPI / hotplug / PCI: Make device_is_managed_by_native_pciehp() public
        ACPI / hotplug / PCI: Use cached copy of PCI_EXP_SLTCAP_HPC bit
        PCI: Unfold conditions to block runtime PM on PCIe ports
        PCI: Consolidate conditions to allow runtime PM on PCIe ports
        PCI: Activate runtime PM on a PCIe port only if it can suspend
        PCI: Speed up algorithm in pci_bridge_d3_update()
        PCI: Autosense device removal in pci_bridge_d3_update()
        PCI: Don't acquire ref on parent in pci_bridge_d3_update()
        USB: UHCI: report non-PME wakeup signalling for Intel hardware
        PCI: Check for PME in targeted sleep state
      daaed104
    • Bjorn Helgaas's avatar
      Merge branch 'pci/msi' into next · db5ba864
      Bjorn Helgaas authored
      * pci/msi:
        PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()
      db5ba864
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' into next · c1f2e80c
      Bjorn Helgaas authored
      * pci/misc:
        PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3)
        PCI: Expand "VPD access disabled" quirk message
        PCI: pciehp: Remove loading message
        PCI: hotplug: Remove hotplug core message
        PCI: Remove service driver load/unload messages
        PCI/AER: Log AER IRQ when claiming Root Port
        PCI/AER: Log errors with PCI device, not PCIe service device
        PCI/AER: Remove unused version macros
        PCI/PME: Log PME IRQ when claiming Root Port
        PCI/PME: Drop unused support for PMEs from Root Complex Event Collectors
        PCI: Move config space size macros to pci_regs.h
      c1f2e80c
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' into next · 4617aedb
      Bjorn Helgaas authored
      * pci/hotplug:
        PCI: pciehp: Leave power indicator on when enabling already-enabled slot
        PCI: pciehp: Prioritize data-link event over presence detect
        PCI: cpqphp: Add missing call to pci_disable_device()
      4617aedb
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' into next · 2f0f3733
      Bjorn Helgaas authored
      * pci/enumeration:
        PCI: Warn on possible RW1C corruption for sub-32 bit config writes
        PCI: Create revision file in sysfs
      2f0f3733
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ecam' into next · 5e0ad9f6
      Bjorn Helgaas authored
      * pci/ecam:
        PCI: Explain ARM64 ACPI/MCFG quirk Kconfig and build strategy
        PCI: Add MCFG quirks for X-Gene host controller
        PCI: Add MCFG quirks for Cavium ThunderX pass1.x host controller
        PCI: Add MCFG quirks for Cavium ThunderX pass2.x host controller
        PCI: thunder-pem: Factor out resource lookup
        PCI: Add MCFG quirks for HiSilicon Hip05/06/07 host controllers
        PCI: Add MCFG quirks for Qualcomm QDF2432 host controller
        PCI/ACPI: Provide acpi_get_rc_resources() for ARM64 platform
        PCI/ACPI: Check for platform-specific MCFG quirks
        PCI/ACPI: Extend pci_mcfg_lookup() to return ECAM config accessors
        arm64: PCI: Exclude ACPI "consumer" resources from host bridge windows
        arm64: PCI: Manage controller-specific data on per-controller basis
        arm64: PCI: Search ACPI namespace to ensure ECAM space is reserved
        arm64: PCI: Add local struct device pointers
        ACPI: Add acpi_resource_consumer() to find device that claims a resource
      5e0ad9f6
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' into next · a7d51491
      Bjorn Helgaas authored
      * pci/aspm:
        PCI/ASPM: Don't retrain link if ASPM not possible
        PCI/ASPM: Use permission-specific DEVICE_ATTR variants
      a7d51491
    • Alexey Kardashevskiy's avatar
      PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3) · 1c7de2b4
      Alexey Kardashevskiy authored
      There is at least one Chelsio 10Gb card which uses VPD area to store some
      non-standard blocks (example below).  However pci_vpd_size() returns the
      length of the first block only assuming that there can be only one VPD "End
      Tag".
      
      Since 4e1a6355 ("vfio/pci: Use kernel VPD access functions"), VFIO
      blocks access beyond that offset, which prevents the guest "cxgb3" driver
      from probing the device.  The host system does not have this problem as its
      driver accesses the config space directly without pci_read_vpd().
      
      Add a quirk to override the VPD size to a bigger value.  The maximum size
      is taken from EEPROMSIZE in drivers/net/ethernet/chelsio/cxgb3/common.h.
      We do not read the tag as the cxgb3 driver does as the driver supports
      writing to EEPROM/VPD and when it writes, it only checks for 8192 bytes
      boundary.  The quirk is registered for all devices supported by the cxgb3
      driver.
      
      This adds a quirk to the PCI layer (not to the cxgb3 driver) as the cxgb3
      driver itself accesses VPD directly and the problem only exists with the
      vfio-pci driver (when cxgb3 is not running on the host and may not be even
      loaded) which blocks accesses beyond the first block of VPD data.  However
      vfio-pci itself does not have quirks mechanism so we add it to PCI.
      
      This is the controller:
      Ethernet controller [0200]: Chelsio Communications Inc T310 10GbE Single Port Adapter [1425:0030]
      
      This is what I parsed from its VPD:
      ===
      b'\x82*\x0010 Gigabit Ethernet-SR PCI Express Adapter\x90J\x00EC\x07D76809 FN\x0746K'
       0000 Large item 42 bytes; name 0x2 Identifier String
      	b'10 Gigabit Ethernet-SR PCI Express Adapter'
       002d Large item 74 bytes; name 0x10
      	#00 [EC] len=7: b'D76809 '
      	#0a [FN] len=7: b'46K7897'
      	#14 [PN] len=7: b'46K7897'
      	#1e [MN] len=4: b'1037'
      	#25 [FC] len=4: b'5769'
      	#2c [SN] len=12: b'YL102035603V'
      	#3b [NA] len=12: b'00145E992ED1'
       007a Small item 1 bytes; name 0xf End Tag
      
       0c00 Large item 16 bytes; name 0x2 Identifier String
      	b'S310E-SR-X      '
       0c13 Large item 234 bytes; name 0x10
      	#00 [PN] len=16: b'TBD             '
      	#13 [EC] len=16: b'110107730D2     '
      	#26 [SN] len=16: b'97YL102035603V  '
      	#39 [NA] len=12: b'00145E992ED1'
      	#48 [V0] len=6: b'175000'
      	#51 [V1] len=6: b'266666'
      	#5a [V2] len=6: b'266666'
      	#63 [V3] len=6: b'2000  '
      	#6c [V4] len=2: b'1 '
      	#71 [V5] len=6: b'c2    '
      	#7a [V6] len=6: b'0     '
      	#83 [V7] len=2: b'1 '
      	#88 [V8] len=2: b'0 '
      	#8d [V9] len=2: b'0 '
      	#92 [VA] len=2: b'0 '
      	#97 [RV] len=80: b's\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'...
       0d00 Large item 252 bytes; name 0x11
      	#00 [VC] len=16: b'122310_1222 dp  '
      	#13 [VD] len=16: b'610-0001-00 H1\x00\x00'
      	#26 [VE] len=16: b'122310_1353 fp  '
      	#39 [VF] len=16: b'610-0001-00 H1\x00\x00'
      	#4c [RW] len=173: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'...
       0dff Small item 0 bytes; name 0xf End Tag
      
      10f3 Large item 13315 bytes; name 0x62
      !!! unknown item name 98: b'\xd0\x03\x00@`\x0c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00'
      ===
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      1c7de2b4
    • Bjorn Helgaas's avatar
      PCI: Expand "VPD access disabled" quirk message · 044bc425
      Bjorn Helgaas authored
      It's not very enlightening to see
      
        pci 0000:07:00.0: [Firmware Bug]: VPD access disabled
      
      in the dmesg log because there's no clue about what the firmware bug is.
      Expand the message to explain why we're disabling VPD.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      044bc425
    • Bjorn Helgaas's avatar
      PCI: pciehp: Remove loading message · 5fbeef63
      Bjorn Helgaas authored
      Remove the "PCI Express Hot Plug Controller Driver" version message.  I
      don't think it contains any useful information.  Remove unused #defines
      and move the author information to a comment.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      5fbeef63
    • Bjorn Helgaas's avatar
      PCI: hotplug: Remove hotplug core message · d9b47d54
      Bjorn Helgaas authored
      Remove the "PCI Hot Plug PCI Core" version message.  I don't think it
      contains any useful information.  Remove unused #defines and move the
      author information to a comment.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      d9b47d54
    • Bjorn Helgaas's avatar
      PCI: Remove service driver load/unload messages · 98892fae
      Bjorn Helgaas authored
      Remove the "service driver %s loaded" and unloaded messages.  All service
      drivers already log something in their probe functions, where they can log
      more useful details.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      98892fae
    • Bjorn Helgaas's avatar
      PCI/AER: Log AER IRQ when claiming Root Port · 68a55ae5
      Bjorn Helgaas authored
      Add a log message when we enable AER on a Root Port and the hierarchy below
      it.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      68a55ae5
    • Bjorn Helgaas's avatar
      PCI/AER: Log errors with PCI device, not PCIe service device · 576700b6
      Bjorn Helgaas authored
      All other AER-related log messages use the PCI device, e.g.,
      "pci 0000:00:1c.0", not the PCIe service device, e.g.,
      "aer 0000:00:1c.0:pcie02".
      
      Change the probe error messages to match the rest and include a little
      context.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      576700b6
    • Bjorn Helgaas's avatar
      PCI/AER: Remove unused version macros · 2298a7aa
      Bjorn Helgaas authored
      Remove the unused DRIVER_VERSION, DRIVER_AUTHOR, and DRIVER_DESC macros.
      The author information is already included in a comment above.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      2298a7aa
    • Bjorn Helgaas's avatar
      PCI/PME: Log PME IRQ when claiming Root Port · a902d81a
      Bjorn Helgaas authored
      We already log a "Signaling PME" whenever the PME service driver claims a
      Root Port.  In fact, we also log the same message for every device in the
      hierarchy below the Root Port.
      
      Log the "Signaling PME" once (only for the Root Port, since we can
      trivially find out which devices are below the Root Port), and include the
      IRQ number in the message to help connect the dots with /proc/interrupts.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a902d81a
    • Bjorn Helgaas's avatar
      PCI/PME: Drop unused support for PMEs from Root Complex Event Collectors · 0a1e1b26
      Bjorn Helgaas authored
      Since we register pcie_pme_driver only for PCI_EXP_TYPE_ROOT_PORT, the PME
      driver never claims Root Complex Event Collectors.
      
      Remove unused code related to Root Complex Event Collectors.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0a1e1b26
    • Wang Sheng-Hui's avatar
      PCI: Move config space size macros to pci_regs.h · cc10385b
      Wang Sheng-Hui authored
      Move PCI configuration space size macros (PCI_CFG_SPACE_SIZE and
      PCI_CFG_SPACE_EXP_SIZE) from drivers/pci/pci.h to
      include/uapi/linux/pci_regs.h so they can be used by more drivers and
      eliminate duplicate definitions.
      
      [bhelgaas: Expand comment to include PCI-X details]
      Signed-off-by: default avatarWang Sheng-Hui <shhuiw@foxmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      cc10385b
    • Lukas Wunner's avatar
      x86/platform/intel-mid: Constify mid_pci_platform_pm · c9312254
      Lukas Wunner authored
      This struct never needs to be modified.  The size of pci-mid.o ELF
      sections changes thusly:
      
        -.data          56
        +.data           0
        -.rodata        32
        +.rodata        88
      Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
      Acked-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      c9312254
  2. 08 Dec, 2016 3 commits
  3. 07 Dec, 2016 4 commits