• Linus Torvalds's avatar
    Merge tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 00937f36
    Linus Torvalds authored
    Pull PCI updates from Bjorn Helgaas:
     "Enumeration:
       - Print IRQ number used by PCIe Link Bandwidth Notification (Dongdong
         Liu)
       - Add schedule point in pci_read_config() to reduce max latency
         (Jiang Biao)
       - Add Kconfig options for MPS/MRRS strategy (Jim Quinlan)
    
      Resource management:
       - Fix pci_iounmap() memory leak when !CONFIG_GENERIC_IOMAP (Lorenzo
         Pieralisi)
    
      PCIe native device hotplug:
       - Reduce noisiness on hot removal (Lukas Wunner)
    
      Power management:
       - Revert "PCI/PM: Apply D2 delay as milliseconds, not microseconds"
         that was done on the basis of spec typo (Bjorn Helgaas)
       - Rename pci_dev.d3_delay to d3hot_delay to remove D3hot/D3cold
         ambiguity (Krzysztof Wilczyński)
       - Remove unused pcibios_pm_ops (Vaibhav Gupta)
    
      IOMMU:
       - Enable Translation Blocking for external devices to harden against
         DMA attacks (Rajat Jain)
    
      Error handling:
       - Add an ACPI APEI notifier chain for vendor CPER records to enable
         device-specific error handling (Shiju Jose)
    
      ASPM:
       - Remove struct aspm_register_info to simplify code (Saheed O.
         Bolarinwa)
    
      Amlogic Meson PCIe controller driver:
       - Build as module by default (Kevin Hilman)
    
      Ampere Altra PCIe controller driver:
       - Add MCFG quirk to work around non-standard ECAM implementation
         (Tuan Phan)
    
      Broadcom iProc PCIe controller driver:
       - Set affinity mask on MSI interrupts (Mark Tomlinson)
    
      Broadcom STB PCIe controller driver:
       - Make PCIE_BRCMSTB depend on ARCH_BRCMSTB (Jim Quinlan)
       - Add DT bindings for more Brcmstb chips (Jim Quinlan)
       - Add bcm7278 register info (Jim Quinlan)
       - Add bcm7278 PERST# support (Jim Quinlan)
       - Add suspend and resume pm_ops (Jim Quinlan)
       - Add control of rescal reset (Jim Quinlan)
       - Set additional internal memory DMA viewport sizes (Jim Quinlan)
       - Accommodate MSI for older chips (Jim Quinlan)
       - Set bus max burst size by chip type (Jim Quinlan)
       - Add support for bcm7211, bcm7216, bcm7445, bcm7278 (Jim Quinlan)
    
      Freescale i.MX6 PCIe controller driver:
       - Use dev_err_probe() to reduce redundant messages (Anson Huang)
    
      Freescale Layerscape PCIe controller driver:
       - Enforce 4K DMA buffer alignment in endpoint test (Hou Zhiqiang)
       - Add DT compatible strings for ls1088a, ls2088a (Xiaowei Bao)
       - Add endpoint support for ls1088a, ls2088a (Xiaowei Bao)
       - Add endpoint test support for lS1088a (Xiaowei Bao)
       - Add MSI-X support for ls1088a (Xiaowei Bao)
    
      HiSilicon HIP PCIe controller driver:
       - Handle HIP-specific errors via ACPI APEI (Yicong Yang)
    
      HiSilicon Kirin PCIe controller driver:
       - Return -EPROBE_DEFER if the GPIO isn't ready (Bean Huo)
    
      Intel VMD host bridge driver:
       - Factor out physical offset, bus offset, IRQ domain, IRQ allocation
         (Jon Derrick)
       - Use generic PCI PM correctly (Jon Derrick)
    
      Marvell Aardvark PCIe controller driver:
       - Fix compilation on s390 (Pali Rohár)
       - Implement driver 'remove' function and allow to build it as module
         (Pali Rohár)
       - Move PCIe reset card code to advk_pcie_train_link() (Pali Rohár)
       - Convert mvebu a3700 internal SMCC firmware return codes to errno
         (Pali Rohár)
       - Fix initialization with old Marvell's Arm Trusted Firmware (Pali
         Rohár)
    
      Microsoft Hyper-V host bridge driver:
       - Fix hibernation in case interrupts are not re-created (Dexuan Cui)
    
      NVIDIA Tegra PCIe controller driver:
       - Stop checking return value of debugfs_create() functions (Greg
         Kroah-Hartman)
       - Convert to use DEFINE_SEQ_ATTRIBUTE macro (Liu Shixin)
    
      Qualcomm PCIe controller driver:
       - Reset PCIe to work around Qsdk U-Boot issue (Ansuel Smith)
    
      Renesas R-Car PCIe controller driver:
       - Add DT documentation for r8a774a1, r8a774b1, r8a774e1 endpoints
         (Lad Prabhakar)
       - Add RZ/G2M, RZ/G2N, RZ/G2H IDs to endpoint test (Lad Prabhakar)
       - Add DT support for r8a7742 (Lad Prabhakar)
    
      Socionext UniPhier Pro5 controller driver:
       - Add DT descriptions of iATU register (host and endpoint) (Kunihiko
         Hayashi)
    
      Synopsys DesignWare PCIe controller driver:
       - Add link up check in dw_child_pcie_ops.map_bus() (racy, but seems
         unavoidable) (Hou Zhiqiang)
       - Fix endpoint Header Type check so multi-function devices work (Hou
         Zhiqiang)
       - Skip PCIE_MSI_INTR0* programming if MSI is disabled (Jisheng Zhang)
       - Stop leaking MSI page in suspend/resume (Jisheng Zhang)
       - Add common iATU register support instead of keystone-specific code
         (Kunihiko Hayashi)
       - Major config space access and other cleanups in dwc core and
         drivers that use it (al, exynos, histb, imx6, intel-gw, keystone,
         kirin, meson, qcom, tegra) (Rob Herring)
       - Add multiple PFs support for endpoint (Xiaowei Bao)
       - Add MSI-X doorbell mode in endpoint mode (Xiaowei Bao)
    
      Miscellaneous:
       - Use fallthrough pseudo-keyword (Gustavo A. R. Silva)
       - Fix "0 used as NULL pointer" warnings (Gustavo Pimentel)
       - Fix "cast truncates bits from constant value" warnings (Gustavo
         Pimentel)
       - Remove redundant zeroing for sg_init_table() (Julia Lawall)
       - Use scnprintf(), not snprintf(), in sysfs "show" functions
         (Krzysztof Wilczyński)
       - Remove unused assignments (Krzysztof Wilczyński)
       - Fix "0 used as NULL pointer" warning (Krzysztof Wilczyński)
       - Simplify bool comparisons (Krzysztof Wilczyński)
       - Use for_each_child_of_node() and for_each_node_by_name() (Qinglang
         Miao)
       - Simplify return expressions (Qinglang Miao)"
    
    * tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (147 commits)
      PCI: vmd: Update VMD PM to correctly use generic PCI PM
      PCI: vmd: Create IRQ allocation helper
      PCI: vmd: Create IRQ Domain configuration helper
      PCI: vmd: Create bus offset configuration helper
      PCI: vmd: Create physical offset helper
      PCI: v3-semi: Remove unneeded break
      PCI: dwc: Add link up check in dw_child_pcie_ops.map_bus()
      PCI/ASPM: Remove struct pcie_link_state.l1ss
      PCI/ASPM: Remove struct aspm_register_info.l1ss_cap
      PCI/ASPM: Pass L1SS Capabilities value, not struct aspm_register_info
      PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl1
      PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl2 (unused)
      PCI/ASPM: Remove struct aspm_register_info.l1ss_cap_ptr
      PCI/ASPM: Remove struct aspm_register_info.latency_encoding
      PCI/ASPM: Remove struct aspm_register_info.enabled
      PCI/ASPM: Remove struct aspm_register_info.support
      PCI/ASPM: Use 'parent' and 'child' for readability
      PCI/ASPM: Move LTR path check to where it's used
      PCI/ASPM: Move pci_clear_and_set_dword() earlier
      PCI: dwc: Fix MSI page leakage in suspend/resume
      ...
    00937f36
pci-driver.c 41.7 KB