• Linus Torvalds's avatar
    Merge tag 'pci-v6.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 041bc24d
    Linus Torvalds authored
    Pull pci updates from Bjorn Helgaas:
     "Resource management:
    
       - Distribute spare resources to unconfigured hotplug bridges at
         boot-time (not just when hot-adding such a bridge), which makes
         hot-adding devices to docks work better.
    
       - Revert to a BAR assignment inherited from firmware only when the
         address is actually reachable via any upstream bridges, which fixes
         some cases where firmware doesn't configure all devices.
    
       - Add a sysfs interface to resize BARs so this can be done before
         assigning devices to a VM through VFIO.
    
      Power management:
    
       - Disable Precision Time Management for all devices on suspend to
         enable lower-power PM state. We previously did this just for Root
         Ports, which isn't enough because downstream devices can still
         generate PTM messages, which cause errors if it's disabled in the
         Root Port.
    
       - Save and restore the ASPM L1 PM Substates configuration for
         suspend/ resume. Previously this configuration was lost, so L1.x
         states likely stopped working after resume.
    
       - Check whether the L1 PM Substates Capability exists. If it didn't
         exist, we previously read junk and tried to configure L1 Substates
         based on that.
    
       - Fix the LTR_L1.2_THRESHOLD computation, which previously set a
         threshold for entering L1.2 that was too low in some cases.
    
       - Reduce the delay after transitions to or from D3cold by using
         usleep_range() rather than msleep(), which often slept for ~19ms
         instead of the 10ms normally required. The spec says 10ms is
         enough, but it's possible we could trip over devices that need a
         little more.
    
      Error handling:
    
       - Work around a BIOS bug that caused Intel Root Ports to advertise a
         Root Port Programmed I/O (RP PIO) log size of zero, which caused
         annoying warnings and prevented the kernel from dumping log
         registers for DPC errors.
    
      Qualcomm PCIe controller driver:
    
       - Add support for SC8280XP and SA8540P host controllers and SM8450
         endpoint controller.
    
       - Disable Master AXI clock on endpoint controllers to save power when
         link is idle or in L1.x.
    
       - Expose link state transition counts via debugfs to help debug
         issues with low-power states.
    
       - Add auto-loading module support.
    
      Synopsys DesignWare PCIe controller driver:
    
       - Remove a dependency on ZONE_DMA32 by allocating the MSI target page
         differently. There's more work to do related to eDMA controllers,
         so it's not completely settled"
    
    * tag 'pci-v6.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (71 commits)
      PCI: qcom-ep: Check platform_get_resource_byname() return value
      PCI: qcom-ep: Add support for SM8450 SoC
      dt-bindings: PCI: qcom-ep: Add support for SM8450 SoC
      dt-bindings: PCI: qcom-ep: Define clocks per platform
      PCI: qcom-ep: Make PERST separation optional
      dt-bindings: PCI: qcom-ep: Make PERST separation optional
      PCI: qcom-ep: Disable Master AXI Clock when there is no PCIe traffic
      PCI: Expose PCIe Resizable BAR support via sysfs
      PCI/ASPM: Correct LTR_L1.2_THRESHOLD computation
      PCI/ASPM: Ignore L1 PM Substates if device lacks capability
      PCI/ASPM: Factor out L1 PM Substates configuration
      PCI: qcom-ep: Gate Master AXI clock to MHI bus during L1SS
      PCI: qcom-ep: Expose link transition counts via debugfs
      PCI: qcom-ep: Disable IRQs during driver remove
      PCI/ASPM: Save L1 PM Substates Capability for suspend/resume
      PCI/ASPM: Refactor L1 PM Substates Control Register programming
      PCI: qcom-ep: Make use of the cached dev pointer
      PCI: qcom-ep: Rely on the clocks supplied by devicetree
      PCI: qcom-ep: Add kernel-doc for qcom_pcie_ep structure
      phy: freescale: imx8m-pcie: Fix the wrong order of phy_init() and phy_power_on()
      ...
    041bc24d
microchip,pcie-host.yaml 3.79 KB