1. 23 Sep, 2019 11 commits
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/hv' · a40c4b37
      Bjorn Helgaas authored
        - Fix Hyper-V use-after-free in pci_dev removal (Dexuan Cui)
      
        - Fix Hyper-V build error in non-sysfs config (Randy Dunlap)
      
        - Reallocate to avoid Hyper-V domain number collisions (Haiyang Zhang)
      
        - Use Hyper-V instance ID bytes 4-5 to reduce domain collisions (Haiyang
          Zhang)
      
      * remotes/lorenzo/pci/hv:
        PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers
        PCI: hv: Detect and fix Hyper-V PCI domain number collision
        PCI: pci-hyperv: Fix build errors on non-SYSFS config
        PCI: hv: Avoid use of hv_pci_dev->pci_slot after freeing it
      a40c4b37
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/dwc' · b83e445d
      Bjorn Helgaas authored
        - Make kirin_dw_pcie_ops constant (Nishka Dasgupta)
      
        - Make DesignWare "num-lanes" property optional and remove from relevant
          DTs (Hou Zhiqiang)
      
      * remotes/lorenzo/pci/dwc:
        arm64: dts: fsl: Remove num-lanes property from PCIe nodes
        ARM: dts: ls1021a: Remove num-lanes property from PCIe nodes
        PCI: dwc: Return directly when num-lanes is not found
        dt-bindings: PCI: designware: Remove the num-lanes from Required properties
        PCI: kirin: Make structure kirin_dw_pcie_ops constant
      b83e445d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/al' · af47f25f
      Bjorn Helgaas authored
        - Add driver for Amazon Annapurna Labs PCIe controller (Jonathan Chocron)
      
        - Disable MSI-X since Annapurna Labs advertises it, but it's broken
          (Jonathan Chocron)
      
        - Disable VPD since Annapurna Labs advertises it, but it's broken
          (Jonathan Chocron)
      
        - Add ACS quirk since Annapurna Labs doesn't support ACS but does provide
          some equivalent protections (Ali Saidi)
      
      * remotes/lorenzo/pci/al:
        PCI: dwc: Add validation that PCIe core is set to correct mode
        PCI: dwc: al: Add Amazon Annapurna Labs PCIe controller driver
        dt-bindings: PCI: Add Amazon's Annapurna Labs PCIe host bridge binding
        PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port
        PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port
        PCI: Add ACS quirk for Amazon Annapurna Labs root ports
        PCI: Add Amazon's Annapurna Labs vendor ID
      
      # Conflicts:
      #	drivers/pci/quirks.c
      af47f25f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/resource' · 0ca0ef10
      Bjorn Helgaas authored
        - Convert pci_resource_to_user() to a weak function to remove
          HAVE_ARCH_PCI_RESOURCE_TO_USER #defines (Denis Efremov)
      
        - Use PCI_SRIOV_NUM_BARS for idiomatic loop structure (Denis Efremov)
      
        - Fix Resizable BAR size suspend/restore for 1MB BARs (Sumit Saxena)
      
        - Correct "pci=resource_alignment" example in documentation (Alexey
          Kardashevskiy)
      
      * pci/resource:
        PCI: Correct pci=resource_alignment parameter example
        PCI: Restore Resizable BAR size bits correctly for 1MB BARs
        PCI: Use PCI_SRIOV_NUM_BARS in loops instead of PCI_IOV_RESOURCE_END
        PCI: Convert pci_resource_to_user() to a weak function
      
      # Conflicts:
      #	drivers/pci/pci.c
      0ca0ef10
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pciehp' · 203104c8
      Bjorn Helgaas authored
        - Cleanup pciehp LED/indicator control with a new consolidated
          pciehp_set_indicators() interface that controls both Attention and
          Power Indicators (Denis Efremov)
      
      * pci/pciehp:
        PCI: pciehp: Refer to "Indicators" instead of "LEDs" in comments
        PCI: pciehp: Remove pciehp_green_led_{on,off,blink}()
        PCI: pciehp: Remove pciehp_set_attention_status()
        PCI: pciehp: Combine adjacent indicator updates
        PCI: pciehp: Add pciehp_set_indicators() to set both indicators
      203104c8
    • Bjorn Helgaas's avatar
      Merge branch 'pci/p2pdma' · 63fa8437
      Bjorn Helgaas authored
        - Move P2PCMA PCI bus offset from generic dev_pagemap to
          pci_p2pdma_pagemap (Logan Gunthorpe)
      
        - Add provider's pci_dev to pci_p2pdma_pagemap (Logan Gunthorpe)
      
        - Apply host bridge whitelist for ACS (Logan Gunthorpe)
      
        - Whitelist some Intel host bridges for P2PDMA (Logan Gunthorpe)
      
        - Add attrs to pci_p2pdma_map_sg() to match dma_map_sg() (Logan
          Gunthorpe)
      
        - Add pci_p2pdma_unmap_sg() (Logan Gunthorpe)
      
        - Store P2PDMA mapping method in xarray (Logan Gunthorpe)
      
        - Map requests that traverse a host bridge (Logan Gunthorpe)
      
        - Allow IOMMU for host bridge whitelist (Logan Gunthorpe)
      
      * pci/p2pdma:
        PCI/P2PDMA: Update pci_p2pdma_distance_many() documentation
        PCI/P2PDMA: Allow IOMMU for host bridge whitelist
        PCI/P2PDMA: dma_map() requests that traverse the host bridge
        PCI/P2PDMA: Store mapping method in an xarray
        PCI/P2PDMA: Factor out __pci_p2pdma_map_sg()
        PCI/P2PDMA: Introduce pci_p2pdma_unmap_sg()
        PCI/P2PDMA: Add attrs argument to pci_p2pdma_map_sg()
        PCI/P2PDMA: Whitelist some Intel host bridges
        PCI/P2PDMA: Factor out host_bridge_whitelist()
        PCI/P2PDMA: Apply host bridge whitelist for ACS
        PCI/P2PDMA: Factor out __upstream_bridge_distance()
        PCI/P2PDMA: Add constants for map type results to upstream_bridge_distance()
        PCI/P2PDMA: Add provider's pci_dev to pci_p2pdma_pagemap struct
        PCI/P2PDMA: Introduce private pagemap structure
      63fa8437
    • Bjorn Helgaas's avatar
      Merge branch 'pci/msi' · 3ddbff36
      Bjorn Helgaas authored
        - Enable PCI_MSI_IRQ_DOMAIN support for RISC-V (Wesley Terpstra)
      
      * pci/msi:
        PCI/MSI: Enable PCI_MSI_IRQ_DOMAIN support for RISC-V
      3ddbff36
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · 6ce54f02
      Bjorn Helgaas authored
        - Use devm_add_action_or_reset() helper (Fuqian Huang)
      
        - Mark expected switch fall-through (Gustavo A. R. Silva)
      
        - Convert sysfs device attributes from __ATTR() to DEVICE_ATTR() (Kelsey
          Skunberg)
      
        - Convert sysfs file permissions from S_IRUSR etc to octal (Kelsey
          Skunberg)
      
        - Move SR-IOV sysfs functions to iov.c (Kelsey Skunberg)
      
        - Add pci_info_ratelimited() to ratelimit PCI messages separately
          (Krzysztof Wilczynski)
      
        - Fix "'static' not at beginning of declaration" warnings (Krzysztof
          Wilczynski)
      
        - Clean up resource_alignment parameter to not require static buffer
          (Logan Gunthorpe)
      
        - Add ACS quirk for iProc PAXB (Abhinav Ratna)
      
        - Add pci_irq_vector() and other stubs for !CONFIG_PCI (Herbert Xu)
      
      * pci/misc:
        PCI: Add pci_irq_vector() and other stubs when !CONFIG_PCI
        PCI: Add ACS quirk for iProc PAXB
        PCI: Force trailing new line to resource_alignment_param in sysfs
        PCI: Move pci_[get|set]_resource_alignment_param() into their callers
        PCI: Clean up resource_alignment parameter to not require static buffer
        PCI: Use static const struct, not const static struct
        PCI: Add pci_info_ratelimited() to ratelimit PCI separately
        PCI/IOV: Remove group write permission from sriov_numvfs, sriov_drivers_autoprobe
        PCI/IOV: Move sysfs SR-IOV functions to iov.c
        PCI: sysfs: Change permissions from symbolic to octal
        PCI: sysfs: Change DEVICE_ATTR() to DEVICE_ATTR_WO()
        PCI: sysfs: Define device attributes with DEVICE_ATTR*()
        PCI: Mark expected switch fall-through
        PCI: Use devm_add_action_or_reset()
      6ce54f02
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · a10a1f60
      Bjorn Helgaas authored
        - Consolidate _HPP & _HPX code in pci-acpi.h and remove unnecessary
          struct hotplug_program_ops (Krzysztof Wilczynski)
      
        - Fixup PCIe device types to remove the need for dev->has_secondary_link
          (Mika Westerberg)
      
      * pci/enumeration:
        PCI: Get rid of dev->has_secondary_link flag
        PCI: Make pcie_downstream_port() available outside of access.c
        PCI/ACPI: Remove unnecessary struct hotplug_program_ops
        PCI/ACPI: Move _HPP & _HPX functions to pci-acpi.c
        PCI/ACPI: Rename _HPX structs from hpp_* to hpx_*
      a10a1f60
    • Bjorn Helgaas's avatar
      Merge branch 'pci/encapsulate' · 77dc51fd
      Bjorn Helgaas authored
        - Move many symbols from public linux/pci.h to subsystem-private
          drivers/pci/pci.h (Kelsey Skunberg)
      
        - Unexport pci_bus_get() and pci_bus_sem since they're not needed by
          modules (Kelsey Skunberg)
      
        - Remove unused pci_block_cfg_access() et al (Kelsey Skunberg)
      
      * pci/encapsulate:
        PCI: Make pci_set_of_node(), etc private
        PCI: Make pci_enable_ptm() private
        PCI: Make pcie_set_ecrc_checking(), pcie_ecrc_get_policy() private
        PCI: Make pci_ats_init() private
        PCI: Make pcie_update_link_speed() private
        PCI: Make pci_bus_get(), pci_bus_put() private
        PCI: Make pci_hotplug_io_size, mem_size, and bus_size private
        PCI: Make pci_save_vc_state(), pci_restore_vc_state(), etc private
        PCI: Make pci_get_host_bridge_device(), pci_put_host_bridge_device() private
        PCI: Make pci_check_pme_status(), pci_pme_wakeup_bus() private
        PCI: Make PCI_PM_* delay times private
        PCI: Unexport pci_bus_sem
        PCI: Unexport pci_bus_get() and pci_bus_put()
        PCI: Remove pci_block_cfg_access() et al (unused)
      77dc51fd
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' · 20d3618b
      Bjorn Helgaas authored
        - Consolidate ASPM interfaces in linux/pci.h (Krzysztof Wilczynski)
      
      * pci/aspm:
        PCI: Move ASPM declarations to linux/pci.h
      20d3618b
  2. 21 Sep, 2019 1 commit
  3. 16 Sep, 2019 7 commits
  4. 10 Sep, 2019 1 commit
  5. 07 Sep, 2019 2 commits
  6. 05 Sep, 2019 12 commits
  7. 28 Aug, 2019 4 commits
  8. 22 Aug, 2019 2 commits
    • Hou Zhiqiang's avatar
      arm64: dts: fsl: Remove num-lanes property from PCIe nodes · 4035ff36
      Hou Zhiqiang authored
      Remove the num-lanes property to avoid the driver setting the
      link width.
      
      On FSL Layerscape SoCs, the number of lanes assigned to PCIe
      controller is not fixed, it is determined by the selected SerDes
      protocol in the RCW (Reset Configuration Word).
      
      The PCIe link training is completed automatically through the selected
      SerDes protocol - the link width set-up is updated by hardware after
      power on reset, so the num-lanes property is not needed for Layerscape
      PCIe.
      
      The current num-lanes property was added erroneously, which actually
      indicates the maximum lanes the PCIe controller can support up to,
      instead of the lanes assigned to the PCIe controller. The link width set
      by SerDes protocol will be overridden by the num-lanes property, hence
      the subsequent re-training will fail when the assigned lanes do not
      match the value in the num-lanes property.
      
      Remove the property to fix the issue
      Signed-off-by: default avatarHou Zhiqiang <Zhiqiang.Hou@nxp.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Reviewed-by: default avatarAndrew Murray <andrew.murray@arm.com>
      4035ff36
    • Hou Zhiqiang's avatar
      ARM: dts: ls1021a: Remove num-lanes property from PCIe nodes · 568adba9
      Hou Zhiqiang authored
      Remove the num-lanes property to avoid the driver setting the
      link width.
      
      On FSL Layerscape SoCs, the number of lanes assigned to PCIe
      controller is not fixed, it is determined by the selected SerDes
      protocol in the RCW (Reset Configuration Word).
      
      The PCIe link training is completed automatically through the selected
      SerDes protocol - the link width set-up is updated by hardware after
      power on reset, so the num-lanes property is not needed for Layerscape
      PCIe.
      
      The current num-lanes property was added erroneously, which actually
      indicates the maximum lanes the PCIe controller can support up to,
      instead of the lanes assigned to the PCIe controller. The link width set
      by SerDes protocol will be overridden by the num-lanes property, hence
      the subsequent re-training will fail when the assigned lanes do not
      match the value in the num-lanes property.
      
      Remove the property to fix the issue.
      Signed-off-by: default avatarHou Zhiqiang <Zhiqiang.Hou@nxp.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Reviewed-by: default avatarAndrew Murray <andrew.murray@arm.com>
      568adba9