[GIT PULL] PCI changes for v6.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780:

  Linux 6.1-rc1 (2022-10-16 15:36:24 -0700)

are available in the Git repository at:

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

for you to fetch changes up to f826afe5eae856b3834cbc65db6178cccd4a3142:

  Merge branch 'pci/kbuild' (2022-12-10 10:36:52 -0600)


You will see a merge conflict in
Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml between these:

  5c3741492d2e ("dt-bindings: PCI: tegra234: Add ECAM support")
  4cc13eedb892 ("dt-bindings: PCI: dwc: Add reg/reg-names common properties")

5c3741492d2e is already in your tree via arm-soc, and 4cc13eedb892 is in
this pull request.  The resolution I suggest is to use 4cc13eedb892, which
means we'll lose the addition of "ecam" from 5c3741492d2e.  This resolution
has been in linux-next for a week or so and is available here if you're
interested:
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=v6.2-merge&id=f64171fdd171

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

Enumeration:

  - Squash portdrv_{core,pci}.c into portdrv.c to ease maintenance and make
    more things static.

  - Make portdrv bind to Switch Ports that have AER.  Previously, if these
    Ports lacked MSI/MSI-X, portdrv failed to bind, which meant the Ports
    couldn't be suspended to low-power states.  AER on these Ports doesn't
    use interrupts, and the AER driver doesn't need to claim them.

  - Assign PCI domain IDs using ida_alloc(), which makes host bridge
    add/remove work better.

Resource management:

  - To work better with recent BIOSes that use EfiMemoryMappedIO for PCI
    host bridge apertures, remove those regions from the E820 map (E820
    entries normally prevent us from allocating BARs).  In v5.19, we added
    some quirks to disable E820 checking, but that's not very maintainable.
    EfiMemoryMappedIO means the OS needs to map the region for use by EFI
    runtime services; it shouldn't prevent OS from using it.

PCIe native device hotplug:

  - Build pciehp by default if USB4 is enabled, since Thunderbolt/USB4 PCIe
    tunneling depends on native PCIe hotplug.

  - Enable Command Completed Interrupt only if supported to avoid user
    confusion from lspci output that says this is enabled but not
    supported.

  - Prevent pciehp from binding to Switch Upstream Ports; this happened
    because of interaction with acpiphp and caused devices below the
    Upstream Port to disappear.

Power management:

  - Convert AGP drivers to generic power management.  We hope to remove
    legacy power management from the PCI core eventually.

Virtualization:

  - Fix pci_device_is_present(), which previously always returned "false"
    for VFs, causing virtio hangs when unbinding the driver.

Miscellaneous:

  - Convert drivers to gpiod API to prepare for dropping some legacy code.

  - Fix DOE fencepost error for the maximum data object length.

Baikal-T1 PCIe controller driver:

  - Add driver and DT bindings.

Broadcom STB PCIe controller driver:

  - Enable Multi-MSI.

  - Delay 100ms after PERST# deassert to allow power and clocks to
    stabilize.

  - Configure Read Completion Boundary to 64 bytes.

Freescale i.MX6 PCIe controller driver:

  - Initialize PHY before deasserting core reset to fix a regression in
    v6.0 on boards where the PHY provides the reference.

  - Fix imx6sx and imx8mq clock names in DT schema.

Intel VMD host bridge driver:

  - Fix Secondary Bus Reset on VMD bridges, which allows reset of NVMe SSDs
    in VT-d pass-through scenarios.

  - Disable MSI remapping, which gets re-enabled by firmware during
    suspend/resume.

MediaTek PCIe Gen3 controller driver:

  - Add MT7986 and MT8195 support.

Qualcomm PCIe controller driver:

  - Add SC8280XP/SA8540P basic interconnect support.

Rockchip DesignWare PCIe controller driver:

  - Base DT schema on common Synopsys schema.

Synopsys DesignWare PCIe core:

  - Collect DT items shared between Root Port and Endpoint (PERST GPIO, PHY
    info, clocks, resets, link speed, number of lanes, number of iATU
    windows, interrupt info, etc) to snps,dw-pcie-common.yaml.

  - Add dma-ranges support for Root Ports and Endpoints.

  - Consolidate DT resource retrieval for "dbi", "dbi2", "atu", etc. to
    reduce code duplication.

  - Add generic names for clocks and resets to encourage more consistent
    naming across drivers using DesignWare IP.

  - Stop advertising PTM Responder role for Endpoints, which aren't allowed
    to be responders.

TI J721E PCIe driver:

  - Add j721s2 host mode ID to DT schema.

  - Add interrupt properties to DT schema.

Toshiba Visconti PCIe controller driver:

  - Fix interrupts array max constraints in DT schema.

----------------------------------------------------------------
Albert Zhou (1):
      PCI: pciehp: Enable by default if USB4 enabled

Bjorn Helgaas (47):
      PCI/portdrv: Squash into portdrv.c
      PCI/portdrv: Move private things to portdrv.c
      PCI/portdrv: Unexport pcie_port_service_register(), pcie_port_service_unregister()
      agp/efficeon: Convert to generic power management
      agp/intel: Convert to generic power management
      agp/amd-k7: Convert to generic power management
      agp/ati: Convert to generic power management
      agp/nvidia: Convert to generic power management
      agp/amd64: Update to DEFINE_SIMPLE_DEV_PM_OPS()
      agp/sis: Update to DEFINE_SIMPLE_DEV_PM_OPS()
      agp/via: Update to DEFINE_SIMPLE_DEV_PM_OPS()
      PCI/PM: Remove unused 'state' parameter to pci_legacy_suspend_late()
      Revert "PCI: Clear PCI_STATUS when setting up device"
      PCI: altera-msi: Include <linux/irqdomain.h> explicitly
      PCI: microchip: Include <linux/irqdomain.h> explicitly
      PCI: mvebu: Include <linux/irqdomain.h> explicitly
      PCI: xgene-msi: Include <linux/irqdomain.h> explicitly
      PCI: Remove unnecessary <linux/of_irq.h> includes
      PCI: Drop of_match_ptr() to avoid unused variables
      PCI/portdrv: Allow AER service only for Root Ports & RCECs
      efi/x86: Remove EfiMemoryMappedIO from E820 map
      PCI: Skip allocate_resource() if too little space available
      x86/PCI: Tidy E820 removal messages
      x86/PCI: Fix log message typo
      x86/PCI: Use pr_info() when possible
      Merge branch 'pci/doe'
      Merge branch 'pci/enumeration'
      Merge branch 'pci/hotplug'
      Merge branch 'pci/misc'
      Merge branch 'pci/pm'
      Merge branch 'pci/pm-agp'
      Merge branch 'pci/portdrv'
      Merge branch 'pci/resource'
      Merge branch 'pci/sysfs'
      Merge branch 'remotes/lorenzo/pci/dt'
      Merge branch 'remotes/lorenzo/pci/brcmstb'
      Merge branch 'remotes/lorenzo/pci/dwc'
      Merge branch 'remotes/lorenzo/pci/endpoint'
      Merge branch 'remotes/lorenzo/pci/mt7621'
      Merge branch 'remotes/lorenzo/pci/qcom'
      Merge branch 'remotes/lorenzo/pci/tegra'
      Merge branch 'remotes/lorenzo/pci/vmd'
      Merge branch 'remotes/lorenzo/pci/misc'
      Merge branch 'pci/ctrl/aardvark'
      Merge branch 'pci/ctrl/mvebu'
      Merge branch 'pci/ctrl/xilinx'
      Merge branch 'pci/kbuild'

Dmitry Torokhov (4):
      PCI: tegra: Switch to using devm_fwnode_gpiod_get
      PCI: histb: Switch to using gpiod API
      PCI: aardvark: Switch to using devm_gpiod_get_optional()
      PCI: mvebu: Switch to using gpiod API

Francisco Munoz (1):
      PCI: vmd: Fix secondary bus reset for Intel bridges

Frank Li (7):
      PCI: endpoint: pci-epf-vntb: Clean up kernel_doc warning
      PCI: endpoint: pci-epf-vntb: Fix struct epf_ntb_ctrl indentation
      PCI: endpoint: pci-epf-vntb: Fix call pci_epc_mem_free_addr() in error path
      PCI: endpoint: pci-epf-vntb: Remove unused epf_db_phy struct member
      PCI: endpoint: pci-epf-vntb: Replace hardcoded 4 with sizeof(u32)
      PCI: endpoint: pci-epf-vntb: Fix sparse build warning for epf_db
      PCI: endpoint: pci-epf-vntb: Fix sparse ntb->reg build warning

Frank Wunderlich (2):
      dt-bindings: PCI: mediatek-gen3: add SoC based clock config
      dt-bindings: PCI: mediatek-gen3: add support for mt7986

Ian Cowan (1):
      PCI: shpchp: Remove unused get_mode1_ECC_cap callback

Jianjun Wang (1):
      dt-bindings: PCI: mediatek-gen3: Support mt8195

Jim Quinlan (5):
      PCI: brcmstb: Enable Multi-MSI
      PCI: brcmstb: Wait for 100ms following PERST# deassert
      PCI: brcmstb: Replace status loops with read_poll_timeout_atomic()
      PCI: brcmstb: Drop needless 'inline' annotations
      PCI: brcmstb: Set RCB_{MPS,64B}_MODE bits

Johan Hovold (3):
      dt-bindings: PCI: qcom: Add SC8280XP/SA8540P interconnects
      PCI: qcom: Add basic interconnect support
      dt-bindings: PCI: qcom: Allow 'dma-coherent' property

John Thomson (1):
      PCI: mt7621: Add sentinel to quirks table

Kunihiko Hayashi (1):
      PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled

Li Ming (1):
      PCI/DOE: Fix maximum data object length miscalculation

Maciej W. Rozycki (1):
      PCI: Access Link 2 registers only for devices with Links

Manivannan Sadhasivam (1):
      PCI: qcom: Fix error message for reset_control_assert()

Matt Ranostay (3):
      dt-bindings: PCI: ti,j721e-pci-host: add interrupt controller definition
      dt-bindings: PCI: ti,j721e-pci-*: Add missing interrupt properties
      dt-bindings: PCI: Add host mode device-id for j721s2 platform

Michael S. Tsirkin (1):
      PCI: Fix pci_device_is_present() for VFs by checking PF

Michal Simek (1):
      PCI: xilinx-nwl: Fix coding style violations

Nirmal Patel (1):
      PCI: vmd: Disable MSI remapping after suspend

Pali Rohár (2):
      PCI: Assign PCI domain IDs by ida_alloc()
      PCI: pciehp: Enable Command Completed Interrupt only if supported

Rafael J. Wysocki (2):
      PCI/portdrv: Set PCIE_PORT_SERVICE_HP for Root and Downstream Ports only
      PCI: acpiphp: Avoid setting is_hotplug_bridge for PCIe Upstream Ports

Sascha Hauer (2):
      PCI/sysfs: Fix double free in error path
      PCI: imx6: Initialize PHY before deasserting core reset

Serge Semin (20):
      dt-bindings: imx6q-pcie: Fix clock names for imx6sx and imx8mq
      dt-bindings: visconti-pcie: Fix interrupts array max constraints
      dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
      dt-bindings: PCI: dwc: Remove bus node from the examples
      dt-bindings: PCI: dwc: Add phys/phy-names common properties
      dt-bindings: PCI: dwc: Add max-link-speed common property
      dt-bindings: PCI: dwc: Apply generic schema for generic device only
      dt-bindings: PCI: dwc: Add max-functions EP property
      dt-bindings: PCI: dwc: Add interrupts/interrupt-names common properties
      dt-bindings: PCI: dwc: Add reg/reg-names common properties
      dt-bindings: PCI: dwc: Add clocks/resets common properties
      dt-bindings: PCI: dwc: Add dma-coherent property
      dt-bindings: PCI: dwc: Apply common schema to Rockchip DW PCIe nodes
      dt-bindings: PCI: dwc: Add Baikal-T1 PCIe Root Port bindings
      PCI: dwc: Introduce dma-ranges property support for RC-host
      PCI: dwc: Introduce generic controller capabilities interface
      PCI: dwc: Introduce generic resources getter
      PCI: dwc: Combine iATU detection procedures
      PCI: dwc: Introduce generic platform clocks and resets
      PCI: dwc: Add Baikal-T1 PCIe controller support

Shunsuke Mie (1):
      PCI: endpoint: Fix Kconfig indent style

Vidya Sagar (4):
      PCI: dwc: Fix n_fts[] array overrun
      PCI: Add PCI_PTM_CAP_RES macro
      PCI: designware-ep: Disable PTM capabilities for EP mode
      PCI: dwc: Use dev_info for PCIe link down event logging

Yipeng Zou (1):
      PCI/ACPI: Use METHOD_NAME__UID instead of plain string

Yoshihiro Shimoda (1):
      PCI: endpoint: Fix WARN() when an endpoint driver is removed

Zeng Heng (1):
      PCI: Check for alloc failure in pci_request_irq()

 .../devicetree/bindings/pci/baikal,bt1-pcie.yaml   | 168 ++++++
 .../devicetree/bindings/pci/fsl,imx6q-pcie.yaml    |  46 +-
 .../bindings/pci/mediatek-pcie-gen3.yaml           |  77 ++-
 .../devicetree/bindings/pci/qcom,pcie.yaml         |  22 +
 .../devicetree/bindings/pci/rockchip-dw-pcie.yaml  |   4 +-
 .../bindings/pci/snps,dw-pcie-common.yaml          | 266 +++++++++
 .../devicetree/bindings/pci/snps,dw-pcie-ep.yaml   | 206 +++++--
 .../devicetree/bindings/pci/snps,dw-pcie.yaml      | 256 +++++---
 .../devicetree/bindings/pci/ti,j721e-pci-ep.yaml   |   7 +
 .../devicetree/bindings/pci/ti,j721e-pci-host.yaml |  22 +
 .../bindings/pci/toshiba,visconti-pcie.yaml        |   7 +-
 arch/x86/kernel/resource.c                         |  12 +-
 arch/x86/pci/acpi.c                                |  39 +-
 arch/x86/platform/efi/efi.c                        |  46 ++
 drivers/char/agp/amd-k7-agp.c                      |  24 +-
 drivers/char/agp/amd64-agp.c                       |   6 +-
 drivers/char/agp/ati-agp.c                         |  22 +-
 drivers/char/agp/efficeon-agp.c                    |  16 +-
 drivers/char/agp/intel-agp.c                       |  11 +-
 drivers/char/agp/nvidia-agp.c                      |  24 +-
 drivers/char/agp/sis-agp.c                         |   7 +-
 drivers/char/agp/via-agp.c                         |   6 +-
 drivers/pci/access.c                               |   8 +-
 drivers/pci/bus.c                                  |   4 +
 drivers/pci/controller/cadence/pci-j721e.c         |   1 -
 drivers/pci/controller/dwc/Kconfig                 |   9 +
 drivers/pci/controller/dwc/Makefile                |   1 +
 drivers/pci/controller/dwc/pci-imx6.c              |  13 +-
 drivers/pci/controller/dwc/pci-layerscape.c        |   1 -
 drivers/pci/controller/dwc/pcie-armada8k.c         |   1 -
 drivers/pci/controller/dwc/pcie-bt1.c              | 643 +++++++++++++++++++++
 drivers/pci/controller/dwc/pcie-designware-ep.c    |  48 +-
 drivers/pci/controller/dwc/pcie-designware-host.c  |  47 +-
 drivers/pci/controller/dwc/pcie-designware.c       | 266 +++++++--
 drivers/pci/controller/dwc/pcie-designware.h       |  63 +-
 drivers/pci/controller/dwc/pcie-histb.c            |  39 +-
 drivers/pci/controller/dwc/pcie-qcom.c             |  78 ++-
 drivers/pci/controller/dwc/pcie-tegra194.c         |   1 -
 drivers/pci/controller/pci-aardvark.c              |  22 +-
 drivers/pci/controller/pci-ftpci100.c              |   2 +-
 drivers/pci/controller/pci-mvebu.c                 |  52 +-
 drivers/pci/controller/pci-tegra.c                 |   9 +-
 drivers/pci/controller/pci-v3-semi.c               |   3 +-
 drivers/pci/controller/pci-xgene-msi.c             |   2 +-
 drivers/pci/controller/pci-xgene.c                 |   1 -
 drivers/pci/controller/pcie-altera-msi.c           |   2 +-
 drivers/pci/controller/pcie-brcmstb.c              |  85 +--
 drivers/pci/controller/pcie-iproc-platform.c       |   1 -
 drivers/pci/controller/pcie-iproc.c                |   1 -
 drivers/pci/controller/pcie-microchip-host.c       |   2 +-
 drivers/pci/controller/pcie-mt7621.c               |   3 +-
 drivers/pci/controller/pcie-rockchip-host.c        |   1 -
 drivers/pci/controller/pcie-xilinx-cpm.c           |   1 -
 drivers/pci/controller/pcie-xilinx-nwl.c           |   8 +-
 drivers/pci/controller/vmd.c                       |  27 +-
 drivers/pci/doe.c                                  |  20 +-
 drivers/pci/endpoint/functions/Kconfig             |  18 +-
 drivers/pci/endpoint/functions/pci-epf-test.c      |   2 +-
 drivers/pci/endpoint/functions/pci-epf-vntb.c      | 150 +++--
 drivers/pci/endpoint/pci-epc-core.c                |   7 +-
 drivers/pci/hotplug/Kconfig                        |   3 +
 drivers/pci/hotplug/TODO                           |   3 -
 drivers/pci/hotplug/acpiphp_glue.c                 |   8 +
 drivers/pci/hotplug/pciehp_hpc.c                   |   4 +-
 drivers/pci/hotplug/shpchp.h                       |   1 -
 drivers/pci/hotplug/shpchp_hpc.c                   |  18 -
 drivers/pci/irq.c                                  |   2 +
 drivers/pci/pci-acpi.c                             |   2 +-
 drivers/pci/pci-driver.c                           |   8 +-
 drivers/pci/pci-sysfs.c                            |  13 +-
 drivers/pci/pci.c                                  | 109 ++--
 drivers/pci/pci.h                                  |   1 +
 drivers/pci/pcie/Kconfig                           |   8 +-
 drivers/pci/pcie/Makefile                          |   2 +-
 drivers/pci/pcie/{portdrv_core.c => portdrv.c}     | 269 ++++++++-
 drivers/pci/pcie/portdrv.h                         |  19 -
 drivers/pci/pcie/portdrv_pci.c                     | 252 --------
 drivers/pci/probe.c                                |  10 +-
 drivers/pci/remove.c                               |   6 +
 include/linux/pci.h                                |   1 +
 include/uapi/linux/pci_regs.h                      |   1 +
 81 files changed, 2748 insertions(+), 928 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/baikal,bt1-pcie.yaml
 create mode 100644 Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
 create mode 100644 drivers/pci/controller/dwc/pcie-bt1.c
 rename drivers/pci/pcie/{portdrv_core.c => portdrv.c} (68%)
 delete mode 100644 drivers/pci/pcie/portdrv_pci.c



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux