linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] PCI changes for v6.6
@ 2023-08-30 19:06 Bjorn Helgaas
  2023-08-31  3:50 ` pr-tracker-bot
  0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2023-08-30 19:06 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-pci, linux-kernel, Lorenzo Pieralisi, Rob Herring,
	Krzysztof Wilczyński

The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5:

  Linux 6.5-rc1 (2023-07-09 13:53:13 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 43cc31da9146f9ce60e4a03d96ef0807c2cdac94:

  Merge branch 'pci/misc' (2023-08-29 11:03:57 -0500)

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

Enumeration:

  - Add locking to read/modify/write PCIe Capability Register accessors for
    Link Control and Root Control

  - Use pci_dev_id() when possible instead of manually composing ID from
    dev->bus->number and dev->devfn

Resource management:

  - Move prototypes for __weak sysfs resource files to linux/pci.h to fix
    "no previous prototype" warnings

  - Make more I/O port accesses depend on HAS_IOPORT

  - Use devm_platform_get_and_ioremap_resource() instead of open-coding
    platform_get_resource() followed by devm_ioremap_resource()

Power management:

  - Ensure devices are powered up while accessing VPD

  - If device is powered-up, keep it that way while polling for PME

  - Only read PCI_PM_CTRL register when available, to avoid reading the
    wrong register and corrupting dev->current_state

Virtualization:

  - Avoid Secondary Bus Reset on NVIDIA T4 GPUs

Error handling:

  - Remove unused pci_disable_pcie_error_reporting()

  - Unexport pci_enable_pcie_error_reporting(), used only by aer.c

  - Unexport pcie_port_bus_type, used only by PCI core

VGA:

  - Simplify and clean up typos in VGA arbiter

Apple PCIe controller driver:

  - Initialize pcie->nvecs (number of available MSIs) before use

Broadcom iProc PCIe controller driver:

  - Use of_property_read_bool() instead of low-level accessors for boolean
    properties

Broadcom STB PCIe controller driver:

  - Assert PERST# when probing BCM2711 because some bootloaders don't do it

Freescale i.MX6 PCIe controller driver:

  - Add .host_deinit() callback so we can clean up things like regulators
    on probe failure or driver unload

Freescale Layerscape PCIe controller driver:

  - Add support for link-down notification so the endpoint driver can
    process LINK_DOWN events

  - Add suspend/resume support, including manual PME_Turn_off/PME_TO_Ack
    handshake

  - Save Link Capabilities during probe so they can be restored when
    handling a link-up event, since the controller loses the Link Width and
    Link Speed values during reset

Intel VMD host bridge driver:

  - Fix disable of bridge windows during domain reset; previously we
    cleared the base/limit registers, which actually left the windows
    enabled

Marvell MVEBU PCIe controller driver:

  - Remove unused busn member

Microchip PolarFlare PCIe controller driver:

  - Fix interrupt bit definitions so the SEC and DED interrupt handlers
    work correctly

  - Make driver buildable as a module

  - Read FPGA MSI configuration parameters from hardware instead of
    hard-coding them

Microsoft Hyper-V host bridge driver:

  - To avoid a NULL pointer dereference, skip MSI restore after hibernate
    if MSI/MSI-X hasn't been enabled

NVIDIA Tegra194 PCIe controller driver:

  - Revert "PCI: tegra194: Enable support for 256 Byte payload" because
    Linux doesn't know how to reduce MPS from to 256 to 128 bytes for
    Endpoints below a Switch (because other devices below the Switch might
    already be operating), which leads to Malformed TLP errors

Qualcomm PCIe controller driver:

  - Add DT and driver support for interconnect bandwidth voting for
    "pcie-mem" and "cpu-pcie" interconnects

  - Fix broken SDX65 "compatible" DT property

  - Configure controller so MHI bus master clock will be switched off while
    in ASPM L1.x states

  - Use alignment restriction from EPF core in EPF MHI driver

  - Add Endpoint eDMA support

  - Add MHI eDMA support

  - Add Snapdragon SM8450 support to the EPF MHI driversupport

  - Add MHI eDMA support

  - Add Snapdragon SM8450 support to the EPF MHI driversupport

  - Add MHI eDMA support

  - Add Snapdragon SM8450 support to the EPF MHI driversupport

  - Add MHI eDMA support

  - Add Snapdragon SM8450 support to the EPF MHI driver

  - Use iATU for EPF MHI transfers smaller than 4K to avoid eDMA setup
    latency

  - Add sa8775p DT binding and driver support

Rockchip PCIe controller driver:

  - Use 64-bit mask on MSI 64-bit PCI address to avoid zeroing out the
    upper 32 bits

SiFive FU740 PCIe controller driver:

  - Set the supported number of MSI vectors so we can use all available MSI
    interrupts

Synopsys DesignWare PCIe controller driver:

  - Add generic dwc suspend/resume APIs (dw_pcie_suspend_noirq() and
    dw_pcie_resume_noirq()) to be called by controller driver
    suspend/resume ops, and a controller callback to send PME_Turn_Off

MicroSemi Switchtec management driver:

  - Add support for PCIe Gen5 devices

Miscellaneous:

  - Reorder and compress to reduce size of struct pci_dev

  - Fix race in DOE destroy_work_on_stack()

  - Add stubs to avoid casts between incompatible function types

  - Explicitly include correct DT includes to untangle headers

----------------------------------------------------------------
Alex Williamson (2):
      PCI/VPD: Add runtime power management to sysfs interface
      PCI: Fix runtime PM race with PME polling

Arnd Bergmann (1):
      PCI/sysfs: Move declarations to linux/pci.h

Bjorn Helgaas (40):
      PCI/AER: Drop unused pci_disable_pcie_error_reporting()
      PCI/AER: Unexport pci_enable_pcie_error_reporting()
      PCI: Unexport pcie_port_bus_type
      PCI: Remove unnecessary initializations
      PCI: Fix printk field formatting
      PCI: Use consistent put_user() pointer types
      PCI/AER: Simplify AER_RECOVER_RING_SIZE definition
      PCI: Simplify pci_pio_to_address()
      PCI: Simplify pci_dev_driver()
      PCI: Fix pci_bus_resetable(), pci_slot_resetable() name typos
      PCI: Fix typos in docs and comments
      PCI: Fix code formatting inconsistencies
      PCI: Tidy config space save/restore messages
      PCI: Simplify pcie_capability_clear_and_set_word() control flow
      Merge branch 'pci/aer'
      Merge branch 'pci/hotplug'
      Merge branch 'pci/ioport'
      Merge branch 'pci/pcie-rmw'
      Merge branch 'pci/pm'
      Merge branch 'pci/virtualization'
      Merge branch 'pci/vga'
      Merge branch 'pci/vpd'
      Merge branch 'pci/controller/apple'
      Merge branch 'pci/controller/brcmstb'
      Merge branch 'pci/controller/dwc'
      Merge branch 'pci/controller/fu740'
      Merge branch 'pci/controller/hv'
      Merge branch 'pci/controller/iproc'
      Merge branch 'pci/controller/layerscape'
      Merge branch 'pci/controller/microchip'
      Merge branch 'pci/controller/qcom'
      Merge branch 'pci/controller/qcom-edma'
      Merge branch 'pci/controller/qcom-ep'
      Merge branch 'pci/controller/rockchip'
      Merge branch 'pci/controller/tegra194'
      Merge branch 'pci/controller/vmd'
      Merge branch 'pci/controller/remove-void-cast'
      Merge branch 'pci/controller/resources'
      Merge branch 'pci/controller/switchtec'
      Merge branch 'pci/misc'

Christophe JAILLET (3):
      PCI: Reorder pci_dev fields to reduce holes
      PCI: Change pdev->rom_attr_enabled to single bit
      x86/PCI: Use struct_size() in pirq_convert_irt_table()

Colin Ian King (1):
      PCI: ibmphp: Make read-only arrays static

Daire McNamara (7):
      PCI: microchip: Correct the DED and SEC interrupt bit offsets
      PCI: microchip: Enable building driver as a module
      PCI: microchip: Align register, offset, and mask names with HW docs
      PCI: microchip: Enable event handlers to access bridge and control pointers
      PCI: microchip: Clean up initialisation of interrupts
      PCI: microchip: Gather MSI information from hardware config registers
      PCI: microchip: Re-partition code between probe() and init()

Dexuan Cui (1):
      PCI: hv: Fix a crash in hv_pci_restore_msi_msg() during hibernation

Feiyang Chen (1):
      PCI/PM: Only read PCI_PM_CTRL register when available

Frank Li (3):
      PCI: layerscape: Add support for link-down notification
      PCI: Add PCIE_PME_TO_L2_TIMEOUT_US L2 ready timeout value
      PCI: dwc: Implement generic suspend/resume functionality

Hou Zhiqiang (1):
      PCI: layerscape: Add power management support for ls1028a

Ilpo Järvinen (12):
      PCI: Add locking to RMW PCI Express Capability Register accessors
      PCI: Make link retraining use RMW accessors for changing LNKCTL
      PCI: pciehp: Use RMW accessors for changing LNKCTL
      PCI/ASPM: Use RMW accessors for changing LNKCTL
      drm/amdgpu: Use RMW accessors for changing LNKCTL
      drm/radeon: Use RMW accessors for changing LNKCTL
      net/mlx5: Use RMW accessors for changing LNKCTL
      wifi: ath11k: Use RMW accessors for changing LNKCTL
      wifi: ath12k: Use RMW accessors for changing LNKCTL
      wifi: ath10k: Use RMW accessors for changing LNKCTL
      PCI: Document the Capability accessor RMW improvements
      net/mlx5: Convert PCI error values to generic errnos

Ira Weiny (1):
      PCI/DOE: Fix destroy_work_on_stack() race

Jim Quinlan (2):
      PCI: brcmstb: Assert PERST# on BCM2711
      PCI: brcmstb: Remove stale comment

Kelvin Cao (2):
      PCI: switchtec: Use normal comment style
      PCI: switchtec: Add support for PCIe Gen5 devices

Krishna chaitanya chundru (2):
      dt-bindings: PCI: qcom: ep: Add interconnects path
      PCI: qcom-ep: Add ICC bandwidth voting support

Krzysztof Kozlowski (1):
      dt-bindings: PCI: qcom: Fix SDX65 compatible

Krzysztof Wilczyński (3):
      PCI: meson: Remove cast between incompatible function type
      PCI: keembay: Remove cast between incompatible function type
      PCI: microchip: Remove cast between incompatible function type

Manivannan Sadhasivam (9):
      PCI: qcom-ep: Switch MHI bus master clock off during L1SS
      PCI: qcom-ep: Pass alignment restriction to the EPF core
      PCI: epf-mhi: Make use of the alignment restriction from EPF core
      PCI: qcom-ep: Add eDMA support
      PCI: epf-mhi: Add eDMA support
      PCI: epf-mhi: Add support for SM8450
      PCI: epf-mhi: Use iATU for small transfers
      PCI: endpoint: Add kernel-doc for pci_epc_mem_init() API
      PCI: qcom-ep: Treat unknown IRQ events as an error

Mark Brown (1):
      PCI: dwc: Provide deinit callback for i.MX

Mrinmay Sarkar (2):
      dt-bindings: PCI: qcom: Add sa8775p compatible
      PCI: qcom: Add support for sa8775p SoC

Niklas Schnelle (2):
      PCI: Make quirk using inw() depend on HAS_IOPORT
      PCI/sysfs: Make I/O resource depend on HAS_IOPORT

Nirmal Patel (1):
      PCI: vmd: Disable bridge window for domain reset

Pali Rohár (1):
      PCI: mvebu: Remove unused busn member

Rick Wertenbroek (1):
      PCI: rockchip: Use 64-bit mask on MSI 64-bit PCI address

Rob Herring (2):
      PCI: iproc: Use of_property_read_bool() for boolean properties
      PCI: Explicitly include correct DT includes

Sui Jingfeng (6):
      PCI/VGA: Correct vga_str_to_iostate() io_state parameter type
      PCI/VGA: Correct vga_update_device_decodes() parameter type
      PCI/VGA: Simplify vga_arbiter_notify_clients()
      PCI/VGA: Simplify vga_client_register()
      PCI/VGA: Replace full MIT license text with SPDX identifier
      PCI/VGA: Fix typos

Sven Peter (1):
      PCI: apple: Initialize pcie->nvecs before use

Vidya Sagar (1):
      Revert "PCI: tegra194: Enable support for 256 Byte payload"

Wu Zongyong (1):
      PCI: Mark NVIDIA T4 GPUs to avoid bus reset

Xiaowei Bao (1):
      PCI: layerscape: Add workaround for lost link capabilities during reset

Xiongfeng Wang (3):
      PCI: apple: Use pci_dev_id() to simplify the code
      PCI/AER: Use pci_dev_id() to simplify the code
      PCI/IOV: Use pci_dev_id() to simplify the code

Yang Li (4):
      PCI: rcar-gen2: Use devm_platform_get_and_ioremap_resource()
      PCI: v3: Use devm_platform_get_and_ioremap_resource()
      PCI: xgene-msi: Use devm_platform_get_and_ioremap_resource()
      PCI: imx6: Use devm_platform_get_and_ioremap_resource()

Yong-Xuan Wang (1):
      PCI: fu740: Set the number of MSI vectors

Yue Haibing (1):
      PCI: Remove unused function declarations

Zheng Zengkai (1):
      PCI/P2PDMA: Use pci_dev_id() to simplify the code

 Documentation/PCI/pci-error-recovery.rst           |  12 +-
 Documentation/PCI/pciebus-howto.rst                |  14 +-
 .../devicetree/bindings/pci/qcom,pcie-ep.yaml      |  27 +-
 .../devicetree/bindings/pci/qcom,pcie.yaml         |  28 ++
 arch/alpha/include/asm/pci.h                       |   3 -
 arch/x86/pci/irq.c                                 |   4 +-
 drivers/gpu/drm/amd/amdgpu/cik.c                   |  36 +-
 drivers/gpu/drm/amd/amdgpu/si.c                    |  36 +-
 drivers/gpu/drm/radeon/cik.c                       |  36 +-
 drivers/gpu/drm/radeon/si.c                        |  37 +-
 drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c |  21 +-
 drivers/net/wireless/ath/ath10k/pci.c              |   9 +-
 drivers/net/wireless/ath/ath11k/pci.c              |  10 +-
 drivers/net/wireless/ath/ath12k/pci.c              |  10 +-
 drivers/pci/access.c                               |  40 +-
 drivers/pci/controller/Kconfig                     |   2 +-
 drivers/pci/controller/cadence/pci-j721e.c         |   2 +-
 drivers/pci/controller/cadence/pcie-cadence-plat.c |   3 +-
 drivers/pci/controller/cadence/pcie-cadence.c      |   1 +
 drivers/pci/controller/cadence/pcie-cadence.h      |   2 +-
 drivers/pci/controller/dwc/pci-dra7xx.c            |   2 +-
 drivers/pci/controller/dwc/pci-exynos.c            |   2 +-
 drivers/pci/controller/dwc/pci-imx6.c              |   6 +-
 drivers/pci/controller/dwc/pci-keystone.c          |   1 -
 drivers/pci/controller/dwc/pci-layerscape-ep.c     |  20 +
 drivers/pci/controller/dwc/pci-layerscape.c        | 140 ++++++-
 drivers/pci/controller/dwc/pci-meson.c             |  13 +-
 drivers/pci/controller/dwc/pcie-artpec6.c          |   2 +-
 drivers/pci/controller/dwc/pcie-designware-host.c  |  71 ++++
 drivers/pci/controller/dwc/pcie-designware-plat.c  |   2 +-
 drivers/pci/controller/dwc/pcie-designware.c       |   2 +-
 drivers/pci/controller/dwc/pcie-designware.h       |  28 ++
 drivers/pci/controller/dwc/pcie-dw-rockchip.c      |   2 +-
 drivers/pci/controller/dwc/pcie-fu740.c            |   1 +
 drivers/pci/controller/dwc/pcie-intel-gw.c         |   2 +
 drivers/pci/controller/dwc/pcie-keembay.c          |  11 +-
 drivers/pci/controller/dwc/pcie-kirin.c            |   3 +-
 drivers/pci/controller/dwc/pcie-qcom-ep.c          |  81 +++-
 drivers/pci/controller/dwc/pcie-qcom.c             |   3 +-
 drivers/pci/controller/dwc/pcie-tegra194.c         |  11 -
 drivers/pci/controller/dwc/pcie-uniphier-ep.c      |   2 +-
 .../pci/controller/mobiveil/pcie-mobiveil-host.c   |   3 -
 drivers/pci/controller/pci-ftpci100.c              |   3 +-
 drivers/pci/controller/pci-host-common.c           |   2 +-
 drivers/pci/controller/pci-hyperv.c                |   3 +
 drivers/pci/controller/pci-ixp4xx.c                |   3 +-
 drivers/pci/controller/pci-loongson.c              |   2 +-
 drivers/pci/controller/pci-mvebu.c                 |   1 -
 drivers/pci/controller/pci-rcar-gen2.c             |   3 +-
 drivers/pci/controller/pci-v3-semi.c               |   6 +-
 drivers/pci/controller/pci-xgene-msi.c             |   3 +-
 drivers/pci/controller/pcie-altera.c               |   5 +-
 drivers/pci/controller/pcie-apple.c                |  10 +-
 drivers/pci/controller/pcie-brcmstb.c              |   6 +-
 drivers/pci/controller/pcie-iproc-msi.c            |   5 +-
 drivers/pci/controller/pcie-microchip-host.c       | 407 ++++++++++++---------
 drivers/pci/controller/pcie-rockchip-host.c        |   4 +-
 drivers/pci/controller/pcie-rockchip.c             |   1 +
 drivers/pci/controller/pcie-rockchip.h             |   6 +-
 drivers/pci/controller/vmd.c                       |  19 +-
 drivers/pci/doe.c                                  |   2 +-
 drivers/pci/endpoint/functions/pci-epf-mhi.c       | 286 ++++++++++++++-
 drivers/pci/endpoint/functions/pci-epf-vntb.c      |  32 +-
 drivers/pci/endpoint/pci-epc-core.c                |   1 -
 drivers/pci/endpoint/pci-epc-mem.c                 |  10 +
 drivers/pci/hotplug/acpiphp.h                      |   1 -
 drivers/pci/hotplug/cpci_hotplug.h                 |   2 -
 drivers/pci/hotplug/ibmphp.h                       |   2 -
 drivers/pci/hotplug/ibmphp_pci.c                   |  10 +-
 drivers/pci/hotplug/pciehp_hpc.c                   |  12 +-
 drivers/pci/iov.c                                  |   3 +-
 drivers/pci/msi/irqdomain.c                        |   4 +-
 drivers/pci/p2pdma.c                               |   5 +-
 drivers/pci/pci-driver.c                           |  18 +-
 drivers/pci/pci-sysfs.c                            |   4 +
 drivers/pci/pci.c                                  |  72 ++--
 drivers/pci/pci.h                                  |  41 +--
 drivers/pci/pcie/aer.c                             |  22 +-
 drivers/pci/pcie/aspm.c                            |  30 +-
 drivers/pci/probe.c                                |   4 +-
 drivers/pci/quirks.c                               |  48 ++-
 drivers/pci/setup-bus.c                            |   2 +-
 drivers/pci/setup-res.c                            |   4 +-
 drivers/pci/switch/switchtec.c                     | 158 +++++---
 drivers/pci/syscall.c                              |  12 +-
 drivers/pci/vgaarb.c                               | 358 +++++++++---------
 drivers/pci/vpd.c                                  |  34 +-
 include/linux/aer.h                                |  11 -
 include/linux/pci.h                                |  46 ++-
 include/linux/switchtec.h                          |   1 +
 include/linux/vgaarb.h                             |  27 +-
 91 files changed, 1622 insertions(+), 870 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [GIT PULL] PCI changes for v6.6
@ 2023-09-09 14:44 Bjorn Helgaas
  2023-09-09 18:53 ` pr-tracker-bot
  0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2023-09-09 14:44 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-pci, linux-kernel, Lorenzo Pieralisi, Rob Herring,
	Krzysztof Wilczyński, Wu Zongyong, Alex Williamson,
	Ross Lagerwall, Kalle Valo, Lizhi Hou, Guenter Roeck

The following changes since commit b6f6167ea8a424d14b41c172fe7a5f49e164f221:

  Merge tag 'pci-v6.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci (2023-08-30 20:23:07 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.6-fixes-1

for you to fetch changes up to 5260bd6d36c83c5b269c33baaaf8c78e520908b0:

  Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset" (2023-09-08 15:11:45 -0500)

----------------------------------------------------------------
- Add PCI_DYNAMIC_OF_NODES dependency on OF_IRQ to fix sparc64 build error
  (Lizhi Hou)

- After coalescing host bridge resources, free any released resources to
  avoid a leak (Ross Lagerwall)

- Revert a quirk that prevented NVIDIA T4 GPUs from using Secondary Bus
  Reset.  The quirk worked around an issue that we now think is related to
  the Root Port, not the GPU (Bjorn Helgaas)

----------------------------------------------------------------
Bjorn Helgaas (1):
      Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"

Lizhi Hou (1):
      PCI: Fix CONFIG_PCI_DYNAMIC_OF_NODES kconfig dependencies

Ross Lagerwall (1):
      PCI: Free released resource after coalescing

 drivers/pci/Kconfig  | 2 +-
 drivers/pci/probe.c  | 1 +
 drivers/pci/quirks.c | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-09-09 18:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-30 19:06 [GIT PULL] PCI changes for v6.6 Bjorn Helgaas
2023-08-31  3:50 ` pr-tracker-bot
  -- strict thread matches above, loose matches on Subject: below --
2023-09-09 14:44 Bjorn Helgaas
2023-09-09 18:53 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).