[GIT,PULL] PCI changes for v6.4

Message ID 20230425200936.GA66754@bhelgaas
State New
Headers
Series [GIT,PULL] PCI changes for v6.4 |

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.4-changes

Message

Bjorn Helgaas April 25, 2023, 8:09 p.m. UTC
  The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6:

  Linux 6.3-rc1 (2023-03-05 14:52:03 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.4-changes

for you to fetch changes up to 09a8e5f01dfb30667a8f05e35c1cc073cb4fd134:

  Merge branch 'pci/controller/kconfig' (2023-04-20 16:19:37 -0500)

You should see a trivial conflict between f195fc1e9715 ("x86/PCI: Add quirk
for AMD XHCI controller that loses MSI-X state in D3hot"), which you
already have, and 606012dddebb ("PCI: Fix up L1SS capability for Intel
Apollo Lake Root Port"), which is included here.

----------------------------------------------------------------

Resource management:

  - Add pci_dev_for_each_resource() and pci_bus_for_each_resource()
    iterators.

PCIe native device hotplug:

  - Fix AB-BA deadlock between reset_lock and device_lock.

Power management:

  - Wait longer for devices to become ready after resume (as we do for reset)
    to accommodate Intel Titan Ridge xHCI devices.

  - Extend D3hot delay for NVIDIA HDA controllers to avoid unrecoverable
    devices after a bus reset.

Error handling:

  - Clear PCIe Device Status after EDR since generic error recovery now
    only clears it when AER is native.

ASPM:

  - Work around Chromebook firmware defect that clobbers Capability list
    (including ASPM L1 PM Substates Cap) when returning from D3cold to D0.

Freescale i.MX6 PCIe controller driver:

  - Install imprecise external abort handler only when DT indicates PCIe
    support.

Freescale Layerscape PCIe controller driver:

  - Add ls1028a endpoint mode support.

Qualcomm PCIe controller driver:

  - Add SM8550 DT binding and driver support.

  - Add SDX55 DT binding and driver support.

  - Use bulk APIs for clocks of IP 1.0.0, 2.3.2, 2.3.3.

  - Use bulk APIs for reset of IP 2.1.0, 2.3.3, 2.4.0.

  - Add DT "mhi" register region for supported SoCs.

  - Expose link transition counts via debugfs to help debug low power
    issues.

  - Support system suspend and resume; reduce interconnect bandwidth and
    turn off clock and PHY if there are no active devices.

  - Enable async probe by default to reduce boot time.

Miscellaneous:

  - Sort controller Kconfig entries by vendor.

----------------------------------------------------------------
Abel Vesa (2):
      dt-bindings: PCI: qcom: Add SM8550 compatible
      PCI: qcom: Add SM8550 PCIe support

Alex Williamson (1):
      PCI/PM: Extend D3hot delay for NVIDIA HDA controllers

Andy Shevchenko (4):
      PCI: Introduce pci_resource_n()
      PCI: Document pci_bus_for_each_resource()
      PCI: Make pci_bus_for_each_resource() index optional
      EISA: Drop unused pci_bus_for_each_resource() index argument

Bjorn Helgaas (25):
      efi/cper: Remove unnecessary aer.h include
      PCI/EDR: Add edr_handle_event() comments
      Merge branch 'pci/aer'
      Merge branch 'pci/aspm'
      Merge branch 'pci/enumeration'
      Merge branch 'pci/hotplug'
      Merge branch 'pci/p2pdma'
      Merge branch 'pci/reset'
      Merge branch 'pci/resource'
      Merge branch 'pci/controller/dt'
      Merge branch 'pci/controller/dwc'
      Merge branch 'pci/controller/ixp4xx'
      Merge branch 'pci/controller/kirin'
      Merge branch 'pci/controller/layerscape'
      Merge branch 'pci/controller/mt7621'
      Merge branch 'pci/controller/qcom'
      Merge branch 'pci/controller/rcar'
      PCI: meson: Add 'Amlogic' to Kconfig prompt
      PCI: hv: Add 'Microsoft' to Kconfig prompt
      PCI: xilinx-nwl: Add 'Xilinx' to Kconfig prompt
      PCI: Use consistent controller Kconfig menu entry language
      PCI: Sort controller Kconfig entries by vendor
      PCI: dwc: Sort Kconfig entries by vendor
      PCI: mobiveil: Sort Kconfig entries by vendor
      Merge branch 'pci/controller/kconfig'

Cai Huoqing (1):
      PCI/P2PDMA: Fix pci_p2pmem_find_many() kernel-doc

H. Nikolaus Schaller (1):
      PCI: imx6: Install the fault handler only on compatible match

Jean Delvare (1):
      PCI: xilinx: Drop obsolete dependency on COMPILE_TEST

Josh Triplett (1):
      PCI: kirin: Select REGMAP_MMIO

Kuppuswamy Sathyanarayanan (1):
      PCI/EDR: Clear Device Status after EDR error recovery

Lukas Bulwahn (1):
      PCI: rcar: Avoid defines prefixed with CONFIG

Lukas Wunner (1):
      PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock

Manivannan Sadhasivam (23):
      PCI: qcom: Fix the incorrect register usage in v2.7.0 config
      PCI: qcom: Remove PCIE20_ prefix from register definitions
      PCI: qcom: Sort and group registers and bitfield definitions
      PCI: qcom: Use bitfield definitions for register fields
      PCI: qcom: Add missing macros for register fields
      PCI: qcom: Use lower case for hex
      PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.1.0
      PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 1.0.0
      PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 2.3.2
      PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 2.3.3
      PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.3.3
      PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.4.0
      PCI: qcom: Use macros for defining total no. of clocks & supplies
      PCI: qcom: Rename qcom_pcie_config_sid_sm8250() to reflect IP version
      dt-bindings: PCI: qcom: Add "mhi" register region to supported SoCs
      PCI: qcom: Expose link transition counts via debugfs
      PCI: qcom: Add support for system suspend and resume
      PCI: qcom: Enable async probe by default
      dt-bindings: PCI: qcom: Update maintainers entry
      dt-bindings: PCI: qcom: Add SDX55 SoC
      dt-bindings: PCI: qcom-ep: Fix the unit address used in example
      PCI: qcom: Add support for SDX55 SoC
      dt-bindings: PCI: qcom: Document msi-map and msi-map-mask properties

Mika Westerberg (3):
      PCI: Introduce pci_dev_for_each_resource()
      PCI/PM: Increase wait time after resume
      PCI/PM: Drop pci_bridge_wait_for_secondary_bus() timeout parameter

Neil Armstrong (1):
      dt-bindings: PCI: convert amlogic,meson-pcie.txt to dt-schema

Pali Rohár (1):
      PCI: ixp4xx: Use PCI_CONF1_ADDRESS() macro

Richard Zhu (1):
      dt-bindings: imx6q-pcie: Restruct i.MX PCIe schema

Rob Herring (1):
      PCI: Use of_property_present() for testing DT property presence

Ron Lee (1):
      PCI: Fix up L1SS capability for Intel Apollo Lake Root Port

Sergio Paracuellos (1):
      PCI: mt7621: Use dev_info() to log PCIe card detection

Xiaowei Bao (1):
      PCI: layerscape: Add EP mode support for ls1028a

 .clang-format                                      |    1 +
 .../devicetree/bindings/pci/amlogic,axg-pcie.yaml  |  134 +++
 .../devicetree/bindings/pci/amlogic,meson-pcie.txt |   70 --
 .../bindings/pci/fsl,imx6q-pcie-common.yaml        |  279 +++++
 .../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml |   85 ++
 .../devicetree/bindings/pci/fsl,imx6q-pcie.yaml    |  240 +---
 .../devicetree/bindings/pci/qcom,pcie-ep.yaml      |    2 +-
 .../devicetree/bindings/pci/qcom,pcie.yaml         |   91 +-
 MAINTAINERS                                        |    2 +
 arch/alpha/kernel/pci.c                            |    5 +-
 arch/arm/kernel/bios32.c                           |   16 +-
 arch/arm/mach-dove/pcie.c                          |   10 +-
 arch/arm/mach-mv78xx0/pcie.c                       |   10 +-
 arch/arm/mach-orion5x/pci.c                        |   10 +-
 arch/mips/pci/ops-bcm63xx.c                        |    8 +-
 arch/mips/pci/pci-legacy.c                         |    3 +-
 arch/powerpc/kernel/pci-common.c                   |   21 +-
 arch/powerpc/platforms/4xx/pci.c                   |    8 +-
 arch/powerpc/platforms/52xx/mpc52xx_pci.c          |    5 +-
 arch/powerpc/platforms/pseries/pci.c               |   16 +-
 arch/sh/drivers/pci/pcie-sh7786.c                  |   10 +-
 arch/sparc/kernel/leon_pci.c                       |    5 +-
 arch/sparc/kernel/pci.c                            |   10 +-
 arch/sparc/kernel/pcic.c                           |    5 +-
 arch/x86/pci/fixup.c                               |   59 +
 drivers/eisa/pci_eisa.c                            |    4 +-
 drivers/firmware/efi/cper-arm.c                    |    1 -
 drivers/pci/bus.c                                  |    7 +-
 drivers/pci/controller/Kconfig                     |  463 ++++----
 drivers/pci/controller/cadence/Kconfig             |   10 +-
 drivers/pci/controller/dwc/Kconfig                 |  517 ++++----
 drivers/pci/controller/dwc/pci-imx6.c              |    7 +
 drivers/pci/controller/dwc/pci-layerscape-ep.c     |    1 +
 drivers/pci/controller/dwc/pcie-qcom.c             | 1246 ++++++++------------
 drivers/pci/controller/mobiveil/Kconfig            |   19 +-
 drivers/pci/controller/pci-ixp4xx.c                |   10 +-
 drivers/pci/controller/pci-tegra.c                 |    4 +-
 drivers/pci/controller/pcie-mediatek.c             |    2 +-
 drivers/pci/controller/pcie-mt7621.c               |    4 +-
 drivers/pci/controller/pcie-rcar-host.c            |    4 +-
 drivers/pci/controller/pcie-rcar.h                 |    2 +-
 drivers/pci/hotplug/pciehp_pci.c                   |   15 +
 drivers/pci/hotplug/rpaphp_core.c                  |    4 +-
 drivers/pci/hotplug/shpchp_sysfs.c                 |    8 +-
 drivers/pci/of.c                                   |    2 +-
 drivers/pci/p2pdma.c                               |    3 +-
 drivers/pci/pci-driver.c                           |    3 +-
 drivers/pci/pci.c                                  |   21 +-
 drivers/pci/pci.h                                  |    9 +-
 drivers/pci/pcie/dpc.c                             |    3 +-
 drivers/pci/pcie/edr.c                             |   12 +-
 drivers/pci/probe.c                                |    2 +-
 drivers/pci/quirks.c                               |   13 +
 drivers/pci/remove.c                               |    5 +-
 drivers/pci/setup-bus.c                            |   37 +-
 drivers/pci/setup-res.c                            |    4 +-
 drivers/pci/vgaarb.c                               |   17 +-
 drivers/pci/xen-pcifront.c                         |    4 +-
 drivers/pnp/quirks.c                               |   29 +-
 include/linux/pci.h                                |   71 +-
 60 files changed, 1923 insertions(+), 1745 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/amlogic,axg-pcie.yaml
 delete mode 100644 Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
 create mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-common.yaml
 create mode 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml
  

Comments

Lukas Wunner April 27, 2023, 3:28 a.m. UTC | #1
Hi Bjorn,

On Tue, Apr 25, 2023 at 03:09:36PM -0500, Bjorn Helgaas wrote:
> The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6:
> 
>   Linux 6.3-rc1 (2023-03-05 14:52:03 -0800)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.4-changes
> 
> for you to fetch changes up to 09a8e5f01dfb30667a8f05e35c1cc073cb4fd134:
> 
>   Merge branch 'pci/controller/kconfig' (2023-04-20 16:19:37 -0500)

Just a heads-up that this pull request doesn't include the following
topic branches in pci.git:

    controller/endpoint
    controller/cadence
    controller/vmd

... as well as the following commit on the controller/dt branch:

    661a7e9aa551 ("dt-bindings: PCI: qcom: Add SDX65 SoC")

Perhaps you intend to submit them in a second pull request this
merge window, but I just wanted to make sure they're not forgotten.
The patches applied to those topic branches are marked "Accepted"
in patchwork, so if the topic branches are deleted when the 6.5
cycle begins, the patches would seem to have been merged even though
they're not.

Thanks,

Lukas
  
Bjorn Helgaas April 27, 2023, 3:53 a.m. UTC | #2
On Thu, Apr 27, 2023 at 05:28:16AM +0200, Lukas Wunner wrote:
> Hi Bjorn,
> 
> On Tue, Apr 25, 2023 at 03:09:36PM -0500, Bjorn Helgaas wrote:
> > The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6:
> > 
> >   Linux 6.3-rc1 (2023-03-05 14:52:03 -0800)
> > 
> > are available in the Git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.4-changes
> > 
> > for you to fetch changes up to 09a8e5f01dfb30667a8f05e35c1cc073cb4fd134:
> > 
> >   Merge branch 'pci/controller/kconfig' (2023-04-20 16:19:37 -0500)
> 
> Just a heads-up that this pull request doesn't include the following
> topic branches in pci.git:
> 
>     controller/endpoint
>     controller/cadence
>     controller/vmd
> 
> ... as well as the following commit on the controller/dt branch:
> 
>     661a7e9aa551 ("dt-bindings: PCI: qcom: Add SDX65 SoC")

Yeah, thanks, this was unfortunate timing.  I did the last updates for
the v6.4 pull request on Apr 20, left for a long weekend, and Lorenzo
merged the branches you mentioned on Apr 21.

If they were critical, maybe a second pull request could work, but I
don't plan on that because they haven't had any time in -next yet.

I'll try not to delete them before v6.5; here are the heads in case I
forget:

  eac223e85208 remotes/pci/controller/cadence
  661a7e9aa551 remotes/pci/controller/dt
  604de32d55a2 remotes/pci/controller/endpoint
  e06720c1d9e1 remotes/pci/controller/vmd

Bjorn
  
pr-tracker-bot@kernel.org April 27, 2023, 7:20 p.m. UTC | #3
The pull request you sent on Tue, 25 Apr 2023 15:09:36 -0500:

> git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.4-changes

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/34b62f186db9614e55d021f8c58d22fc44c57911

Thank you!
  
Lorenzo Pieralisi May 8, 2023, 7:29 a.m. UTC | #4
On Wed, Apr 26, 2023 at 10:53:22PM -0500, Bjorn Helgaas wrote:
> On Thu, Apr 27, 2023 at 05:28:16AM +0200, Lukas Wunner wrote:
> > Hi Bjorn,
> > 
> > On Tue, Apr 25, 2023 at 03:09:36PM -0500, Bjorn Helgaas wrote:
> > > The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6:
> > > 
> > >   Linux 6.3-rc1 (2023-03-05 14:52:03 -0800)
> > > 
> > > are available in the Git repository at:
> > > 
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.4-changes
> > > 
> > > for you to fetch changes up to 09a8e5f01dfb30667a8f05e35c1cc073cb4fd134:
> > > 
> > >   Merge branch 'pci/controller/kconfig' (2023-04-20 16:19:37 -0500)
> > 
> > Just a heads-up that this pull request doesn't include the following
> > topic branches in pci.git:
> > 
> >     controller/endpoint
> >     controller/cadence
> >     controller/vmd
> > 
> > ... as well as the following commit on the controller/dt branch:
> > 
> >     661a7e9aa551 ("dt-bindings: PCI: qcom: Add SDX65 SoC")
> 
> Yeah, thanks, this was unfortunate timing.  I did the last updates for
> the v6.4 pull request on Apr 20, left for a long weekend, and Lorenzo
> merged the branches you mentioned on Apr 21.
> 
> If they were critical, maybe a second pull request could work, but I
> don't plan on that because they haven't had any time in -next yet.
> 
> I'll try not to delete them before v6.5; here are the heads in case I
> forget:
> 
>   eac223e85208 remotes/pci/controller/cadence
>   661a7e9aa551 remotes/pci/controller/dt
>   604de32d55a2 remotes/pci/controller/endpoint
>   e06720c1d9e1 remotes/pci/controller/vmd

I rebased these branches on top of v6.4-rc1 and pushed them out.

Thanks,
Lorenzo