1. May 14, 2019
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/misc' · ee6df38d
      Bjorn Helgaas authored
        - Exit pcitest with error code when test fails (Jean-Jacques Hiblot)
      
        - Fix leaked of_node references in dra7xx, uniphier, layerscape,
          rockchip, aardvark, iproc, mediatek, rpadlpar (Wen Yang)
      
        - Fix pcitest "help" option parsing (Kishon Vijay Abraham I)
      
        - Fix Makefile bug that inadvertently removes pcitest.sh (Kishon Vijay
          Abraham I)
      
        - Check for alloc_workqueue() failure in endpoint test driver (Kangjie
          Lu)
      
      * remotes/lorenzo/pci/misc:
        PCI: endpoint: Fix a potential NULL pointer dereference
        tools: PCI: Handle pcitest.sh independently from pcitest
        tools: PCI: Add 'h' in optstring of getopt()
        PCI: mediatek: Fix a leaked reference by adding missing of_node_put()
        PCI: iproc: Fix a leaked reference by adding missing of_node_put()
        PCI: aardvark: Fix a leaked reference by adding missing of_node_put()
        PCI: rockchip: Fix a leaked reference by adding missing of_node_put()
        PCI: dwc: layerscape: Fix a leaked reference by adding missing of_node_put()
        PCI: uniphier: Fix a leaked reference by adding missing of_node_put()
        PCI: dwc: pci-dra7xx: Fix a leaked reference by adding missing of_node_put()
        tools: PCI: Exit with error code when test fails
      ee6df38d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/xilinx' · ed0eaf32
      Bjorn Helgaas authored
        - Check for __get_free_pages() failure in xilinx (Kangjie Lu)
      
      * remotes/lorenzo/pci/xilinx:
        PCI: xilinx: Check for __get_free_pages() failure
      ed0eaf32
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/tegra' · cdf43155
      Bjorn Helgaas authored
        - Use DMA-API to get tegra MSI address to prevent device DMA from
          generating unwanted MSIs (Vidya Sagar)
      
      * remotes/lorenzo/pci/tegra:
        PCI: tegra: Use the DMA-API to get the MSI address
      cdf43155
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/rockchip' · 673525c5
      Bjorn Helgaas authored
        - Fix rockchip bitwise operations that overflow type (Colin Ian King)
      
      * remotes/lorenzo/pci/rockchip:
        PCI: rockchip: Fix rockchip_pcie_ep_assert_intx() bitwise operations
      673525c5
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/rcar' · bac9789e
      Bjorn Helgaas authored
        - Use BIT() when appropriate in rcar (Marek Vasut)
      
        - Use u32 to match rcar hardware register widths (Marek Vasut)
      
        - Use BITS_PER_BYTE when appropriate in rcar (Marek Vasut)
      
        - Remove unnecessary casts in rcar (Marek Vasut)
      
        - Fix 64-bit MSI target addresses in rcar (Marek Vasut)
      
        - Check for __get_free_pages() failure in rcar (Kangjie Lu)
      
        - Fix shadowed rcar "irq" variable (Wolfram Sang)
      
      * remotes/lorenzo/pci/rcar:
        PCI: rcar: Do not shadow the 'irq' variable
        PCI: rcar: Fix a potential NULL pointer dereference
        PCI: rcar: Fix 64bit MSI message address handling
        PCI: rcar: Clean up debug messages
        PCI: rcar: Replace (8 * n) with (BITS_PER_BYTE * n)
        PCI: rcar: Replace various variable types with unsigned ones for register values
        PCI: rcar: Replace unsigned long with u32/unsigned int in register accessors
        PCI: rcar: Clean up remaining macros defining bits
      
      # Conflicts:
      #	drivers/pci/controller/pcie-rcar.c
      bac9789e
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/mediatek' · fb8a85fa
      Bjorn Helgaas authored
        - Make mediatek clocks optional, not required (Chunfeng Yun)
      
        - Remove unused mediatek mt2712 "num-lanes" DT property (Honghui Zhang)
      
      * remotes/lorenzo/pci/mediatek:
        arm64: dts: mt2712: Remove un-used property for PCIe
        PCI: mediatek: Get optional clocks with devm_clk_get_optional()
      fb8a85fa
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/keystone' · 0b8439d3
      Bjorn Helgaas authored
        - Move IRQ register address computation inside macros (Kishon Vijay
          Abraham I)
      
        - Separate legacy IRQ and MSI configuration (Kishon Vijay Abraham I)
      
        - Use hwirq, not virq, to get MSI IRQ number offset (Kishon Vijay Abraham
          I)
      
        - Squash ks_pcie_handle_msi_irq() into ks_pcie_msi_irq_handler() (Kishon
          Vijay Abraham I)
      
        - Add dwc support for platforms with custom MSI controllers (Kishon Vijay
          Abraham I)
      
        - Add keystone-specific MSI controller (Kishon Vijay Abraham I)
      
        - Remove dwc host_ops previously used for keystone-specific MSI (Kishon
          Vijay Abraham I)
      
        - Skip dwc default MSI init if platform has custom MSI controller (Kishon
          Vijay Abraham I)
      
        - Implement .start_link() and .stop_link() for keystone endpoint support
          (Kishon Vijay Abraham I)
      
        - Add keystone "reg-names" DT binding (Kishon Vijay Abraham I)
      
        - Squash ks_pcie_dw_host_init() into ks_pcie_add_pcie_port() (Kishon
          Vijay Abraham I)
      
        - Get keystone register resources from DT by name, not index (Kishon
          Vijay Abraham I)
      
        - Get DT resources in .probe() to prepare for endpoint support (Kishon
          Vijay Abraham I)
      
        - Add "ti,syscon-pcie-mode" DT property for PCIe mode configuration
          (Kishon Vijay Abraham I)
      
        - Explicitly set keystone to host mode (Kishon Vijay Abraham I)
      
        - Document DT "atu" reg-names requirement for DesignWare core >= 4.80
          (Kishon Vijay Abraham I)
      
        - Enable dwc iATU unroll for endpoint mode as well as host mode (Kishon
          Vijay Abraham I)
      
        - Add dwc "version" to identify core >= 4.80 for ATU programming (Kishon
          Vijay Abraham I)
      
        - Don't build ARM32-specific keystone code on ARM64 (Kishon Vijay Abraham
          I)
      
        - Add DT binding for keystone PCIe RC in AM654 SoC (Kishon Vijay Abraham
          I)
      
        - Add keystone support for AM654 SoC PCIe RC (Kishon Vijay Abraham I)
      
        - Reset keystone PHYs before enabling them (Kishon Vijay Abraham I)
      
        - Make of_pci_get_max_link_speed() available to endpoint drivers as well
          as host drivers (Kishon Vijay Abraham I)
      
        - Add keystone support for DT "max-link-speed" property (Kishon Vijay
          Abraham I)
      
        - Add endpoint library support for BAR buffer alignment (Kishon Vijay
          Abraham I)
      
        - Make all dw_pcie_ep_ops structs const (Kishon Vijay Abraham I)
      
        - Fix fencepost error in dw_pcie_ep_find_capability() (Kishon Vijay
          Abraham I)
      
        - Add dwc hooks for dbi/dbi2 that share the same address space (Kishon
          Vijay Abraham I)
      
        - Add keystone support for TI AM654x in endpoint mode (Kishon Vijay
          Abraham I)
      
        - Configure designware endpoints to advertise smallest resizable BAR
          (1MB) (Kishon Vijay Abraham I)
      
        - Align designware endpoint ATU windows for raising MSIs (Kishon Vijay
          Abraham I)
      
        - Add endpoint test support for TI AM654x (Kishon Vijay Abraham I)
      
        - Fix endpoint test test_reg_bar issue (Kishon Vijay Abraham I)
      
      * remotes/lorenzo/pci/keystone:
        misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test
        misc: pci_endpoint_test: Add support to test PCI EP in AM654x
        PCI: designware-ep: Use aligned ATU window for raising MSI interrupts
        PCI: designware-ep: Configure Resizable BAR cap to advertise the smallest size
        PCI: keystone: Add support for PCIe EP in AM654x Platforms
        dt-bindings: PCI: Add PCI EP DT binding documentation for AM654
        PCI: dwc: Add callbacks for accessing dbi2 address space
        PCI: dwc: Fix dw_pcie_ep_find_capability() to return correct capability offset
        PCI: dwc: Add const qualifier to struct dw_pcie_ep_ops
        PCI: endpoint: Add support to specify alignment for buffers allocated to BARs
        PCI: keystone: Add support to set the max link speed from DT
        PCI: OF: Allow of_pci_get_max_link_speed() to be used by PCI Endpoint drivers
        PCI: keystone: Invoke phy_reset() API before enabling PHY
        PCI: keystone: Add support for PCIe RC in AM654x Platforms
        dt-bindings: PCI: Add PCI RC DT binding documentation for AM654
        PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64
        PCI: dwc: Fix ATU identification for designware version >= 4.80
        PCI: dwc: Enable iATU unroll for endpoint too
        dt-bindings: PCI: Document "atu" reg-names
        PCI: keystone: Explicitly set the PCIe mode
        dt-bindings: PCI: Add dt-binding to configure PCIe mode
        PCI: keystone: Move resources initialization to prepare for EP support
        PCI: keystone: Use platform_get_resource_byname() to get memory resources
        PCI: keystone: Perform host initialization in a single function
        dt-bindings: PCI: keystone: Add "reg-names" binding information
        PCI: keystone: Cleanup error_irq configuration
        PCI: keystone: Add start_link()/stop_link() dw_pcie_ops
        PCI: dwc: Remove default MSI initialization for platform specific MSI chips
        PCI: dwc: Remove Keystone specific dw_pcie_host_ops
        PCI: keystone: Use Keystone specific msi_irq_chip
        PCI: dwc: Add support to use non default msi_irq_chip
        PCI: keystone: Cleanup ks_pcie_msi_irq_handler()
        PCI: keystone: Use hwirq to get the MSI IRQ number offset
        PCI: keystone: Add separate functions for configuring MSI and legacy interrupt
        PCI: keystone: Cleanup interrupt related macros
      
      # Conflicts:
      #	drivers/pci/controller/dwc/pcie-designware.h
      0b8439d3
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/iproc' · b138f67d
      Bjorn Helgaas authored
        - Work around iproc CRS completion issues (Srinath Mannam)
      
        - Allow smaller iproc outbound windows so driver can work on 32-bit
          systems (Srinath Mannam)
      
        - Use iproc-specific config read for PAXBv2 (not PAXB) (Srinath Mannam)
      
      * remotes/lorenzo/pci/iproc:
        PCI: iproc: Enable iProc config read for PAXBv2
        PCI: iproc: Allow outbound configuration for 32-bit I/O region
        PCI: iproc: Add CRS check in config read
      b138f67d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/imx' · 5349abcf
      Bjorn Helgaas authored
        - Simplify imx7d_pcie_wait_for_phy_pll_lock() by using
          regmap_read_poll_timeout() (Andrey Smirnov)
      
        - Drop imx6_pcie_wait_for_link() in favor of the more generic
          dw_pcie_wait_for_link() (Andrey Smirnov)
      
        - Return -ETIMEDOUT instead of -EINVAL from
          imx6_pcie_wait_for_speed_change() (Andrey Smirnov)
      
        - Remove unused PCIE_PL_PFLR_* constants from imx6 (Andrey Smirnov)
      
        - Use shared PHY debug register definitions in imx6 (Andrey Smirnov)
      
        - Use BIT() in imx6 (Andrey Smirnov)
      
        - Simplify imx6 PHY bit operations (Andrey Smirnov)
      
        - Simplify imx6 pcie_phy_poll_ack() (Andrey Smirnov)
      
        - Use data types that match actual imx6 PHY register width (Andrey
          Smirnov)
      
        - Mark imx6 suspend support with drvdata flags instead of checking
          variants (Andrey Smirnov)
      
        - Sleep instead of delay in imx6_pcie_enable_ref_clk() (Andrey Smirnov)
      
      * remotes/lorenzo/pci/imx:
        PCI: imx6: Use usleep_range() in imx6_pcie_enable_ref_clk()
        PCI: imx6: Use flags to indicate support for suspend
        PCI: imx6: Restrict PHY register data to 16-bit
        PCI: imx6: Simplify pcie_phy_poll_ack()
        PCI: imx6: Simplify bit operations in PHY functions
        PCI: imx6: Make use of BIT() in constant definitions
        PCI: dwc: imx6: Share PHY debug register definitions
        PCI: imx6: Remove PCIE_PL_PFLR_* constants
        PCI: imx6: Return -ETIMEOUT from imx6_pcie_wait_for_speed_change()
        PCI: imx6: Drop imx6_pcie_wait_for_link()
        PCI: imx6: Simplify imx7d_pcie_wait_for_phy_pll_lock()
      5349abcf
    • Bjorn Helgaas's avatar
      Merge branch 'pci/dwc' · 29fa3bbd
      Bjorn Helgaas authored
        - Use generic config space reader in qcom (Marc Gonzalez)
      
        - Stop calling IRQ handler cleanup in dwc driver for invalid MSI IRQs
          (Jisheng Zhang)
      
        - Free dwc MSI target page when freeing MSI (Jisheng Zhang)
      
        - Fix dwc MSI leak in host init error path (Jisheng Zhang)
      
        - Use managed host bridge alloc to simplify dwc (Jisheng Zhang)
      
        - Save dwc root pci_bus pointer for use by .remove() methods (Jisheng
          Zhang)
      
        - Allow imx6 asynchronous probing (Lucas Stach)
      
      * pci/dwc:
        PCI: imx6: Allow asynchronous probing
        PCI: dwc: Save root bus for driver remove hooks
        PCI: dwc: Use devm_pci_alloc_host_bridge() to simplify code
        PCI: dwc: Free MSI in dw_pcie_host_init() error path
        PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
        PCI: dwc: Fix dw_pcie_free_msi() if msi_irq is invalid
        PCI: qcom: Use default config space read function
      29fa3bbd
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/controller-fixes' · 4014eb8b
      Bjorn Helgaas authored
        - Restore R-Car PCIe link early in resume (Kazufumi Ikeda)
      
        - Fix Hyper-V PCI ejection memory leak (Dexuan Cui)
      
        - Cleanup Hyper-V PCI slots on module unload (Dexuan Cui)
      
        - Cleanup Hyper-V PCI slot on device removal to address a race (Dexuan
          Cui)
      
      * remotes/lorenzo/pci/controller-fixes:
        PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary
        PCI: hv: Add hv_pci_remove_slots() when we unload the driver
        PCI: hv: Fix a memory leak in hv_eject_device_work()
        PCI: rcar: Add the initialization of PCIe link in resume_noirq()
      4014eb8b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host/al' · 83d82352
      Bjorn Helgaas authored
        - Add Amazon Annapurna Labs PCIe host controller driver (Jonathan
          Chocron)
      
      * pci/host/al:
        PCI: al: Add Amazon Annapurna Labs PCIe host controller driver
      83d82352
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' · c711a84a
      Bjorn Helgaas authored
        - Mark ATS on AMD Stoney Radeon R7 GPU broken to avoid IOMMU issues
          (Nikolai Kostrigin)
      
        - Mark Atheros AR9462 to avoid bus reset that locks up host machine
          (James Prestwood)
      
      * pci/virtualization:
        PCI: Mark Atheros AR9462 to avoid bus reset
        PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken
      c711a84a
    • Bjorn Helgaas's avatar
      Merge branch 'pci/switchtec' · da33ae01
      Bjorn Helgaas authored
        - Support all 255 PFF ports in switchtec driver (Wesley Sheng)
      
        - Fix unintentional switchtec MRPC event masking that degraded firmware
          update speed (Wesley Sheng)
      
      * pci/switchtec:
        switchtec: Fix unintended mask of MRPC event
        switchtec: Increase PFF limit from 48 to 255
      da33ae01
    • Bjorn Helgaas's avatar
      Merge branch 'pci/portdrv' · db9d639f
      Bjorn Helgaas authored
        - Disable Link Management interrupt during suspend to prevent immediate
          wakeup (Mika Westerberg)
      
      * pci/portdrv:
        PCI/LINK: Disable bandwidth notification interrupt during suspend
      db9d639f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/peer-to-peer' · 292c9396
      Bjorn Helgaas authored
        - Add a whitelist of Root Complexes known to support peer-to-peer DMA
          between Root Ports (Christian König)
      
      * pci/peer-to-peer:
        PCI/P2PDMA: Allow P2P DMA between any devices under AMD ZEN Root Complex
      292c9396
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · 09fdd75c
      Bjorn Helgaas authored
        - Mark expected switch fall-throughs (Gustavo A. R. Silva)
      
        - Remove unused pci_request_region_exclusive() (Johannes Thumshirn)
      
        - Fix x86 PCI IRQ routing table memory leak (Wenwen Wang)
      
        - Reset Lenovo ThinkPad P50 if firmware didn't do it on reboot (Lyude
          Paul)
      
        - Add and use pci_dev_id() helper to simplify PCI_DEVID() usage (touches
          several places outside drivers/pci/) (Heiner Kallweit)
      
        - Transition Mobiveil PCI maintenance to Karthikeyan M and Hou Zhiqiang
          (Subrahmanya Lingappa)
      
      * pci/misc:
        MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI
        platform/chrome: chromeos_laptop: use pci_dev_id() helper
        stmmac: pci: Use pci_dev_id() helper
        iommu/vt-d: Use pci_dev_id() helper
        iommu/amd: Use pci_dev_id() helper
        drm/amdkfd: Use pci_dev_id() helper
        powerpc/powernv/npu: Use pci_dev_id() helper
        r8169: use pci_dev_id() helper
        PCI: Add pci_dev_id() helper
        PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary
        x86/PCI: Fix PCI IRQ routing table memory leak
        PCI: Remove unused pci_request_region_exclusive()
        PCI: Mark expected switch fall-throughs
      09fdd75c
    • Bjorn Helgaas's avatar
      Merge branch 'pci/msi' · 33987fd1
      Bjorn Helgaas authored
        - Remove unused mask_msi_irq(), unmask_msi_irq(), write_msi_msg(),
          __write_msi_msg() (Bjorn Helgaas)
      
      * pci/msi:
        PCI/MSI: Remove unused mask_msi_irq() and unmask_msi_irq()
        PCI/MSI: Remove unused __write_msi_msg() and write_msi_msg()
      33987fd1
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' · 3ea6f739
      Bjorn Helgaas authored
        - Fix RPA and RPA DLPAR refcount issues (Tyrel Datwyler)
      
        - Stop exporting pci_get_hp_params() (Alexandru Gagniuc)
      
        - Simplify _HPP, _HPX parsing (Alexandru Gagniuc)
      
        - Add support for _HPX Type 3 settings (Alexandru Gagniuc)
      
        - Tell firmware we support _HPX Type 3 via _OSC (Alexandru Gagniuc)
      
      * pci/hotplug:
        PCI/ACPI: Advertise _HPX Type 3 support via _OSC
        PCI/ACPI: Implement _HPX Type 3 Setting Record
        PCI/ACPI: Remove the need for 'struct hotplug_params'
        PCI/ACPI: Do not export pci_get_hp_params()
        PCI: rpaphp: Get/put device node reference during slot alloc/dealloc
        PCI: rpadlpar: Fix leaked device_node references in add/remove paths
      3ea6f739
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · 178901bf
      Bjorn Helgaas authored
        - Enable PCIe services for host controller drivers that use managed host
          bridge alloc (Jean-Philippe Brucker)
      
        - Add quirk to clear PCIe Retrain Link bit to work around Pericom bridge
          erratum (Stefan Mätje)
      
        - Add "external-facing" DT property to identify cases where we require
          IOMMU protection from untrusted devices (Jean-Philippe Brucker)
      
        - Support fixed bus numbers from bridge Enhanced Allocation capabilities
          (Subbaraya Sundeep)
      
      * pci/enumeration:
        PCI: Assign bus numbers present in EA capability for bridges
        PCI: OF: Support "external-facing" property
        dt-bindings: Add "external-facing" PCIe port property
        PCI: Rework pcie_retrain_link() wait loop
        PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum
        PCI: Factor out pcie_retrain_link() function
        PCI: Init PCIe feature bits for managed host bridge alloc
      178901bf
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aer' · 15675281
      Bjorn Helgaas authored
        - Fix pci_aer_init() stub prototype for non-CONFIG_PCIEAER case (Jisheng
          Zhang)
      
      * pci/aer:
        PCI/AER: Change pci_aer_init() stub to return void
      15675281
  2. May 13, 2019
  3. May 07, 2019
  4. May 02, 2019
  5. May 01, 2019