• Linus Torvalds's avatar
    Merge tag 'pci-v5.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · eff0cb3d
    Linus Torvalds authored
    Pull pci updates from Bjorn Helgaas:
     "Enumeration:
    
       - Consolidate duplicated 'next function' scanning and extend to allow
         'isolated functions' on s390, similar to existing hypervisors
         (Niklas Schnelle)
    
      Resource management:
       - Implement pci_iobar_pfn() for sparc, which allows us to remove the
         sparc-specific pci_mmap_page_range() and pci_mmap_resource_range().
    
         This removes the ability to map the entire PCI I/O space using
         /proc/bus/pci, but we believe that's already been broken since
         v2.6.28 (Arnd Bergmann)
    
       - Move common PCI definitions to asm-generic/pci.h and rework others
         to be be more specific and more encapsulated in arches that need
         them (Stafford Horne)
    
      Power management:
    
       - Convert drivers to new *_PM_OPS macros to avoid need for '#ifdef
         CONFIG_PM_SLEEP' or '__maybe_unused' (Bjorn Helgaas)
    
      Virtualization:
    
       - Add ACS quirk for Broadcom BCM5750x multifunction NICs that isolate
         the functions but don't advertise an ACS capability (Pavan Chebbi)
    
      Error handling:
    
       - Clear PCI Status register during enumeration in case firmware left
         errors logged (Kai-Heng Feng)
    
       - When we have native control of AER, enable error reporting for all
         devices that support AER. Previously only a few drivers enabled
         this (Stefan Roese)
    
       - Keep AER error reporting enabled for switches. Previously we
         enabled this during enumeration but immediately disabled it (Stefan
         Roese)
    
       - Iterate over error counters instead of error strings to avoid
         printing junk in AER sysfs counters (Mohamed Khalfella)
    
      ASPM:
    
       - Remove pcie_aspm_pm_state_change() so ASPM config changes, e.g.,
         via sysfs, are not lost across power state changes (Kai-Heng Feng)
    
      Endpoint framework:
    
       - Don't stop an EPC when unbinding an EPF from it (Shunsuke Mie)
    
      Endpoint embedded DMA controller driver:
    
       - Simplify and clean up support for the DesignWare embedded DMA
         (eDMA) controller (Frank Li, Serge Semin)
    
      Broadcom STB PCIe controller driver:
    
       - Avoid config space accesses when link is down because we can't
         recover from the CPU aborts these cause (Jim Quinlan)
    
       - Look for power regulators described under Root Ports in DT and
         enable them before scanning the secondary bus (Jim Quinlan)
    
       - Disable/enable regulators in suspend/resume (Jim Quinlan)
    
      Freescale i.MX6 PCIe controller driver:
    
       - Simplify and clean up clock and PHY management (Richard Zhu)
    
       - Disable/enable regulators in suspend/resume (Richard Zhu)
    
       - Set PCIE_DBI_RO_WR_EN before writing DBI registers (Richard Zhu)
    
       - Allow speeds faster than Gen2 (Richard Zhu)
    
       - Make link being down a non-fatal error so controller probe doesn't
         fail if there are no Endpoints connected (Richard Zhu)
    
      Loongson PCIe controller driver:
    
       - Add ACPI and MCFG support for Loongson LS7A (Huacai Chen)
    
       - Avoid config reads to non-existent LS2K/LS7A devices because a
         hardware defect causes machine hangs (Huacai Chen)
    
       - Work around LS7A integrated devices that report incorrect Interrupt
         Pin values (Jianmin Lv)
    
      Marvell Aardvark PCIe controller driver:
    
       - Add support for AER and Slot capability on emulated bridge (Pali
         Rohár)
    
      MediaTek PCIe controller driver:
    
       - Add Airoha EN7532 to DT binding (John Crispin)
    
       - Allow building of driver for ARCH_AIROHA (Felix Fietkau)
    
      MediaTek PCIe Gen3 controller driver:
    
       - Print decoded LTSSM state when the link doesn't come up (Jianjun
         Wang)
    
      NVIDIA Tegra194 PCIe controller driver:
    
       - Convert DT binding to json-schema (Vidya Sagar)
    
       - Add DT bindings and driver support for Tegra234 Root Port and
         Endpoint mode (Vidya Sagar)
    
       - Fix some Root Port interrupt handling issues (Vidya Sagar)
    
       - Set default Max Payload Size to 256 bytes (Vidya Sagar)
    
       - Fix Data Link Feature capability programming (Vidya Sagar)
    
       - Extend Endpoint mode support to devices beyond Controller-5 (Vidya
         Sagar)
    
      Qualcomm PCIe controller driver:
    
       - Rework clock, reset, PHY power-on ordering to avoid hangs and
         improve consistency (Robert Marko, Christian Marangi)
    
       - Move pipe_clk handling to PHY drivers (Dmitry Baryshkov)
    
       - Add IPQ60xx support (Selvam Sathappan Periakaruppan)
    
       - Allow ASPM L1 and substates for 2.7.0 (Krishna chaitanya chundru)
    
       - Add support for more than 32 MSI interrupts (Dmitry Baryshkov)
    
      Renesas R-Car PCIe controller driver:
    
       - Convert DT binding to json-schema (Herve Codina)
    
       - Add Renesas RZ/N1D (R9A06G032) to rcar-gen2 DT binding and driver
         (Herve Codina)
    
      Samsung Exynos PCIe controller driver:
    
       - Fix phy-exynos-pcie driver so it follows the 'phy_init() before
         phy_power_on()' PHY programming model (Marek Szyprowski)
    
      Synopsys DesignWare PCIe controller driver:
    
       - Simplify and clean up the DWC core extensively (Serge Semin)
    
       - Fix an issue with programming the ATU for regions that cross a 4GB
         boundary (Serge Semin)
    
       - Enable the CDM check if 'snps,enable-cdm-check' exists; previously
         we skipped it if 'num-lanes' was absent (Serge Semin)
    
       - Allocate a 32-bit DMA-able page to be MSI target instead of using a
         driver data structure that may not be addressable with 32-bit
         address (Will McVicker)
    
       - Add DWC core support for more than 32 MSI interrupts (Dmitry
         Baryshkov)
    
      Xilinx Versal CPM PCIe controller driver:
    
       - Add DT binding and driver support for Versal CPM5 Gen5 Root Port
         (Bharat Kumar Gogada)"
    
    * tag 'pci-v5.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (150 commits)
      PCI: imx6: Support more than Gen2 speed link mode
      PCI: imx6: Set PCIE_DBI_RO_WR_EN before writing DBI registers
      PCI: imx6: Reformat suspend callback to keep symmetric with resume
      PCI: imx6: Move the imx6_pcie_ltssm_disable() earlier
      PCI: imx6: Disable clocks in reverse order of enable
      PCI: imx6: Do not hide PHY driver callbacks and refine the error handling
      PCI: imx6: Reduce resume time by only starting link if it was up before suspend
      PCI: imx6: Mark the link down as non-fatal error
      PCI: imx6: Move regulator enable out of imx6_pcie_deassert_core_reset()
      PCI: imx6: Turn off regulator when system is in suspend mode
      PCI: imx6: Call host init function directly in resume
      PCI: imx6: Disable i.MX6QDL clock when disabling ref clocks
      PCI: imx6: Propagate .host_init() errors to caller
      PCI: imx6: Collect clock enables in imx6_pcie_clk_enable()
      PCI: imx6: Factor out ref clock disable to match enable
      PCI: imx6: Move imx6_pcie_clk_disable() earlier
      PCI: imx6: Move imx6_pcie_enable_ref_clk() earlier
      PCI: imx6: Move PHY management functions together
      PCI: imx6: Move imx6_pcie_grp_offset(), imx6_pcie_configure_type() earlier
      PCI: imx6: Convert to NOIRQ_SYSTEM_SLEEP_PM_OPS()
      ...
    eff0cb3d
dw-edma-v0-core.c 12.1 KB