<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/pci/controller, branch master</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge tag 'dmaengine-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine</title>
<updated>2026-10-28T17:27:09+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-10-28T17:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ae3690eb2a994dd74a43639d6bf800b51f18b48c'/>
<id>ae3690eb2a994dd74a43639d6bf800b51f18b48c</id>
<content type='text'>
Pull dmaengine updates from Vinod Koul:
 "This consists of start of work for hiding dmaengine internals and
  adding new APIs for dmaengine calls. Also couple of drivers and device
  and lot of updates esp AI-assisted improvements to drivers.

  Core:
   - Better document descriptor flags and clarify ordering rules around
     cookie completion
   - New APIs to start hiding dmaengine guts so that we can start making
     them internal

  New Support:
   - Nord and Maili GPI DMAengine support
   - DW axi dma updates and support for UltraRISC DP1000 controller
   - Apple M3 generation ADMACs support
   - Amlogic A9 SoC DMA controller driver
   - Sun6i refactoring and support for Allwinner A733 DMA controller

  Updates:
   - Freescale device_prep_peripheral_dma_vec support and dynamic
     scatter/gather chaining
   - TI crossbar and cppi DT schema conversion
   - zynqmp driver updates for error patch handling
   - Link list handling improvements for DW edma driver
   - ST dma40 improvements and corner case handling"

* tag 'dmaengine-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (149 commits)
  dmaengine: amlogic: Fix regmap error check issue
  dmaengine: ste_dma40: Preserve the LCPA I/O address space
  docs: dmaengine: clarify ordering rules around cookie completion
  dmaengine: move driver-private helpers out of include/linux/dmaengine.h
  dmaengine: add dmaengine_desc_set_callback() helper
  dmaengine: add dmaengine_get_provider_device() API
  dmaengine: add dmaengine_get_max_xor() helper
  dmaengine: add dmaengine_get_cap_mask() and dmaengine_has_cap() helpers
  dmaengine: add dmaengine_get_copy_align() and related alignment getter helpers
  dmaengine: add dmaengine_is_*_aligned() helpers for DMA consumers
  dmaengine: add dmaengine_prep_dma_(pq|pq_val|interrupt|xor)() API
  dmaengine: sh: rcar-dmac: Add support for R-Car Gen5 SoCs
  dt-bindings: renesas,rcar-dmac: Add support for R-Car X5H SoC
  dmaengine: sh: rcar-dmac: SMMU doesn't need IPMMU workaround
  dmaengine: sh: rcar-dmac: fix style in struct initialization
  dmaengine: qcom: bam_dma: free interrupt before the clock in error path
  dmaengine: ppc4xx: fix typo "contoller" in comment
  dmaengine: ste_dma40: Search all blocks for fixed logical channels
  dt-bindings: dma: dma40: Restore disabled-channels
  dmaengine: ste_dma40: Validate memcpy configuration
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull dmaengine updates from Vinod Koul:
 "This consists of start of work for hiding dmaengine internals and
  adding new APIs for dmaengine calls. Also couple of drivers and device
  and lot of updates esp AI-assisted improvements to drivers.

  Core:
   - Better document descriptor flags and clarify ordering rules around
     cookie completion
   - New APIs to start hiding dmaengine guts so that we can start making
     them internal

  New Support:
   - Nord and Maili GPI DMAengine support
   - DW axi dma updates and support for UltraRISC DP1000 controller
   - Apple M3 generation ADMACs support
   - Amlogic A9 SoC DMA controller driver
   - Sun6i refactoring and support for Allwinner A733 DMA controller

  Updates:
   - Freescale device_prep_peripheral_dma_vec support and dynamic
     scatter/gather chaining
   - TI crossbar and cppi DT schema conversion
   - zynqmp driver updates for error patch handling
   - Link list handling improvements for DW edma driver
   - ST dma40 improvements and corner case handling"

* tag 'dmaengine-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (149 commits)
  dmaengine: amlogic: Fix regmap error check issue
  dmaengine: ste_dma40: Preserve the LCPA I/O address space
  docs: dmaengine: clarify ordering rules around cookie completion
  dmaengine: move driver-private helpers out of include/linux/dmaengine.h
  dmaengine: add dmaengine_desc_set_callback() helper
  dmaengine: add dmaengine_get_provider_device() API
  dmaengine: add dmaengine_get_max_xor() helper
  dmaengine: add dmaengine_get_cap_mask() and dmaengine_has_cap() helpers
  dmaengine: add dmaengine_get_copy_align() and related alignment getter helpers
  dmaengine: add dmaengine_is_*_aligned() helpers for DMA consumers
  dmaengine: add dmaengine_prep_dma_(pq|pq_val|interrupt|xor)() API
  dmaengine: sh: rcar-dmac: Add support for R-Car Gen5 SoCs
  dt-bindings: renesas,rcar-dmac: Add support for R-Car X5H SoC
  dmaengine: sh: rcar-dmac: SMMU doesn't need IPMMU workaround
  dmaengine: sh: rcar-dmac: fix style in struct initialization
  dmaengine: qcom: bam_dma: free interrupt before the clock in error path
  dmaengine: ppc4xx: fix typo "contoller" in comment
  dmaengine: ste_dma40: Search all blocks for fixed logical channels
  dt-bindings: dma: dma40: Restore disabled-channels
  dmaengine: ste_dma40: Validate memcpy configuration
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'pci-v7.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci</title>
<updated>2026-10-24T01:34:47+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-10-24T01:34:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=17bb0e2f6c8043f70a693a5f3797471cbed354c8'/>
<id>17bb0e2f6c8043f70a693a5f3797471cbed354c8</id>
<content type='text'>
Pull PCI updates from Bjorn Helgaas:
 "Enumeration:

   - Set supported_speeds in set_pcie_port_type() so sparc64 and
     powerpc, which call it via of_create_pci_dev() instead of the usual
     pci_setup_device(), correctly set the supported PCIe link speeds
     (Stian Halseth)

   - When pcie_set_mps() changes MPS, update the value in the saved
     state so a subsequent restore doesn't restore an invalid value
     (Niklas Cassel)

   - Skip Target Speed quirk on clamped ports with no link (Maciej W.
     Rozycki)

  Driver binding:

   - Assume control of portdrv-related features only when portdrv is
     enabled, since we can't use them without portdrv (Kuppuswamy
     Sathyanarayanan)

   - Centralize feature ownership checking so code only needs to check
     'host-&gt;native_X' and doesn't need to also check 'pcie_ports_native'
     (Kuppuswamy Sathyanarayanan)

  Error handling:

   - Fix leaks when ACPI APEI/GHES error events overflow the kfifo or
     mention a device that no longer exists (Priyank Rathod)

   - Fix aer_process_err_devices() leak when a device is recorded as an
     error source purely by being mentioned in the Root Port Error
     Source and the device is inaccessible or logged only masked errors
     (Priyank Rathod)

  ASPM:

   - Disable ASPM when drivers request that, even if the OS doesn't own
     ASPM; otherwise drivers do it on their own, which is worse (Ilpo
     Järvinen)

  Power management:

   - Align hibernate poweroff flow with suspend flow for bridges so they
     can be powered down at hibernate as they are for suspend (Mario
     Limonciello)

   - Restore BARs after powering up during enumeration to fix a
     regression on devices that don't preserve state in D3hot (Keng-Yu
     Lin)

   - Avoid D3 on PLX PEX 8532/8533/8548 downstream ports, where putting
     them in D3hot takes down the whole switch (Imre Kaloz)

  Power control:

   - Add GPIO driver for Toshiba TC9563 embedded GPIO controller (Alex
     Elder)

   - Add DT documentation and pwrctrl driver support for TC9563 embedded
     GPIO controller (Lorenzo Bianconi)

   - Switch the tc9563 per-port reset to use the GPIO descriptor API
     instead of direct regmap accesses (Lorenzo Bianconi)

   - Only destroy devices created by pwrctrl core, so that when removing
     a PCIe controller driver that uses pwrctrl, we don't remove devices
     populated by another mechanism (Shawn Lin)

   - Power off child devices on power-on failure (Lorenzo Bianconi)

  PCIe native device hotplug:

   - Make the 'pciehp_poll_mode' parameter read-only to prevent changes
     via sysfs, which can cause errors when unbinding (Runyu Xiao)

  Virtualization:

   - Read SR-IOV VF Revision ID and Subsystem ID from VF instead of
     assuming they're the same as VF 0; they may differ (Logan Odell)

   - Add ACS quirk for Pericom PI7C9X2G304 switches (Hans de Goede)

  Peer-to-peer DMA:

   - Add Zhaoxin KX-6000, KH-40000, KX-6000G, KX-7000, and KH-50000 host
     bridges to allowlist (LeoLiu-oc)

   - Add Alibaba T-HEAD Yitian 710 host bridge to allowlist (Feng Tang)

   - Add Intel Haswell client host bridge to allowlist (Scott Lee)

   - Intel Xeon E3/E5/E7 0x6f00 host bridge to allowlist (kai zhang)

   - Fix handling of errors in pci_p2pdma_add_resource() to avoid (a)
     unmapping a BAR if registering another fails and (b) use after free
     of p2p_pgmap (Leon Romanovsky)

   - Wait for RCU readers before freeing state to avoid use-after-free
     of pdev-&gt;p2pdma (Leon Romanovsky)

   - Restrict pci_p2pmem_find_many() to providers backed by a pool (Leon
     Romanovsky)

   - Safely terminate ACS redirect lists to avoid out-of-bounds access
     to the buffer (Leon Romanovsky)

   - Silence 'Host bridge not in P2PDMA whitelist' warnings unless
     caller, e.g., pci_p2pmem_find_many(), requests 'verbose' (Leon
     Romanovsky)

  Sysfs:

   - Return -ENODEV or -EIO sysfs 'label' or 'acpi_index' attributes
     when Device Name _DSM fails, not -1, which is interpreted as -EPERM
     (Krzysztof Wilczyński)

   - Return valid sysfs 'acpi_index' attribute even if the Device Name
     _DSM returned an invalid 'label' (Krzysztof Wilczyński)

   - Expose sysfs 'acpi_index' and 'label' based on whether the Device
     Name _DSM returns valid data, not merely whether the _DSM is
     implemented (Krzysztof Wilczyński)

   - Avoid out-of-bounds reads of the label returned by the Device Name
     _DSM, which is in UTF-16 characters, not bytes (Krzysztof
     Wilczyński)

   - Reject unaligned resource I/O port accesses, which can oops on
     arm64 (Deepanshu Kartikey)

Endpoint framework:

   - Pass the correct physical and virtual endpoint function numbers
     when setting translation of inbound memory windows (Koichiro Den)

   - Make embedded doorbell IRQ non-shared, since currently only the
     first EPF can allocate doorbells (Koichiro Den)

   - MSI doorbells currently target the first EPF attached to an EPC;
     let other EPFs try the embedded doorbell instead of failing when
     they can't use the MSI doorbell (Koichiro Den)

   - Serialize scan of vNTB virtual PCI bus with other PCI topology
     changes (Koichiro Den)

   - Manage vNTB lifetimes to avoid leaking virtual devices and buses
     and allow removal (Koichiro Den)

   - Track vNTB link state from both sides so both see the same
     effective link state (Koichiro Den)

   - Configure vNTB MSI-X when supported to avoid IOMMU faults and
     failure to deliver doorbell interrupts on RC (Koichiro Den)

  APM X-Gene PCIe controller driver:

   - Use devm for clocks so they're automatically disabled, unprepared,
     and released if errors happen during probe (Yuho Choi)

  ASPEED PCIe controller driver:

   - Fix clk and PHY leaks in aspeed_pcie_port_init() error paths (Liu
     Zhenlong)

  Broadcom iProc PCIe controller driver:

   - Expose devm_pci_alloc_host_bridge_release() so drivers can share a
     devm release function even if they don't need the device tree
     parsing done by devm_pci_alloc_host_bridge() (Bjorn Helgaas)

   - Request only the memory window from BCMA Enumeration ROM and warn
     if it doesn't match the one in DT, which fixes an iproc-bcma probe
     failure (Semih Baskan)

  Broadcom STB PCIe controller driver:

   - Replace bool properties for each SoC configuration with a u32
     bitvector and a BFLAG() helper (Jim Quinlan)

   - Use a similar BQUIRK() helper to test various SoC quirks (Jim
     Quinlan)

  Cadence PCIe controller driver:

   - Remove device links to PHY, which are redundant because the PHY
     core itself adds them (Vladimir Oltean)

   - Return error (not success) from cdns_plat_pcie_probe() if
     pm_runtime_get_sync() or cdns_pcie_ep_setup() failed (Vladimir
     Oltean)

   - Correct the driver data pointer usage; previously .probe() stored
     'struct cdns_plat_pcie *', but .shutdown() used the pointer as
     'struct cdns_pcie *', resulting in accessing garbage (Linmao Li)

  ESWIN PCIe controller driver:

   - Publish the platform driver MODULE_DEVICE_TABLE so the driver can
     be autoloaded when built as a module (Pengpeng Hou)

  Freescale i.MX6 PCIe controller driver:

   - Fix resource and pwrctrl device leaks .probe() (Zhijian Han)

   - Improve i.MX95 Gen3 link stability by changing MPLLB_BANDWIDTH from
     default 120 to 140 (Richard Zhu)

   - Use dev_err_probe() in host init error path to silence
     -EPROBE_DEFER messages (Alexander Stein)

   - Avoid dereferencing NULL clock names when 'clocks' includes more
     phandles than 'clock-names' has names (Rudi Heitbaum)

   - Add suspend_poweroff flag so platforms like i.MX that power off RC
     controllers during suspend can enter L2 so endpoints can get
     PME_Turn_Off notifications before power loss (Richard Zhu)

  Freescale Layerscape PCIe controller driver:

   - Enable PROBE_PREFER_ASYNCHRONOUS to reduce probe time of the four
     controllers on LX2160A (Vincent Jardin)

  Intel VMD host bridge driver:

   - Flush DMA writes before handling MSI on Meteor Lake: MSI may arrive
     before write has completed, resulting in an nvme 30 second stall
     before a QID timeout and possibly other similar problems (Rickey
     Bartlett)

   - Flush DMA writes before handling MSI on Arrow Lake (Vladimir
     Nedoshivin)

  Marvell Aardvark PCIe controller driver:

   - Disable PHY on probe failures (Myeonghun Pak)

  Marvell MVEBU PCIe controller driver:

   - Refcount child OF nodes during .probe() to make a concurrent OF
     overlay removal safe (Krzysztof Kozlowski)

  MediaTek PCIe controller driver:

   - Find INTx DT property by 'interrupt-controller' name instead of
     assuming it's the first child node (Zhengping Zhang)

  MediaTek PCIe Gen3 controller driver:

   - Fix a 64-bit type truncation in mtk_pcie_set_trans_table() to avoid
     issues with windows above or larger than 4GB (Sreeraj S Kurup)

  NVIDIA Tegra264 PCIe controller driver:

   - Fix the Link Capabilities offset so we read the correct register
     (Bjorn Helgaas)

  Qualcomm PCIe controller driver:

   - Only collect reset GPIOs from PCI bridge DT nodes to avoid stealing
     resets used by downstream devices like USB controllers (Christopher
     Obbard)

   - Block accesses to downstream devices on link down to reduce a storm
     of Completion Timeout AER interrupts (Qiang Yu)

   - Skip system suspend/resume for firmware-managed PCIe, where
     firmware manages clocks, regulators, resets, etc (Mrinmay Sarkar)

   - Honor IOMMU provider's #iommu-cells in qcom_pcie_config_sid_1_9_0()
     (Manivannan Sadhasivam)

   - Deinitialize endpoint on remove (Guangshuo Li)

   - Treat Root Port error recovery as successful even if link doesn't
     come up after reset because the device was hot-unplugged (Konrad
     Dybcio)

   - Skip unnecessary iMSI-RX initialization if DT 'msi-map' is present,
     indicating an external MSI controller (Ayiluri Naga Rashmi)

  Renesas R-Car PCIe controller driver:

   - Limit Max_Read_Request_Size to 256 to avoid hardware erratum (Marek
     Vasut)

   - Support PERST# via reset subsystem as well as the existing GPIO
     support to prepare for R-Car Gen5 SoCs (Marek Vasut)

   - Add DT and driver support for the R-Car Gen 5 X5H (R8A78000) PCIe
     Gen 4 core (Marek Vasut)

   - Add Application/Local register reset DT description and driver
     support for both host and endpoint mode (Marek Vasut)

   - Add PM ops so controller works after suspend/resume (Marek Vasut)

  Renesas RZ/G3S PCIe controller driver:

   - Disable refclk on probe failure (Lad Prabhakar)

   - Propagate platform_get_irq_byname() errors so probe deferral works
     correctly (Lad Prabhakar)

   - Tear down INTx handlers if subsequent initialization fails (Lad
     Prabhakar)

   - Add RZ/G3L (R9A08G046) DT and driver support (Biju Das)

  Rockchip PCIe controller driver:

   - Limit host and endpoint controllers to 2.5 GT/s since 5.0 GT/s is
     unsafe per Rockchip (Geraldo Nascimento)

  Synopsys DesignWare PCIe controller driver:

   - Set DMA_BYPASS bit in outbound IATU CTRL2 register to avoid data
     corruption if the iATU translates DMA engine transactions (Sumit
     Kumar)

   - Use FIELD_PREP() to remove need for *_SHIFT definitions (Hans
     Zhang)

  TI DRA7xx PCIe controller driver:

   - Remove device links to PHY, which are redundant because the PHY
     core itself adds them (Vladimir Oltean)

   - Fix optional clock leak when .probe() fails by using
     devm_clk_get_optional_enabled() (Felix Gu)

  TI Keystone PCIe controller driver:

   - Remove device links to PHY, which are redundant because the PHY
     core itself adds them (Vladimir Oltean)

  UltraRISC PCIe controller driver:

   - Allow DWC drivers to skip outbound iATU setup if they don't need
     translation between CPU and PCI addresses (Xincheng Zhang)

   - Skip MEM outbound iATU setup on DP1000 (Xincheng Zhang)

  Xilinx Versal CPM PCIe controller driver:

   - Add DT and driver support for optional PERST# for use in warm reset
     scenarios (Sai Krishna Musham)

  Xilinx XDMA PCIe controller driver:

   - Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain()
     (Wentao Liang)"

* tag 'pci-v7.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (139 commits)
  PCI/pwrctrl: Power off child devices on power-on failure
  PCI/pwrctrl: Only destroy devices created by pwrctrl core
  PCI/pwrctrl: generic: Fix leaking array from of_regulator_bulk_get_all()
  PCI/pwrctrl: tc9563: Switch per-port reset to GPIO descriptor API
  PCI/pwrctrl: tc9563: Add GPIO auxiliary device support
  dt-bindings: PCI: toshiba,tc9563: Document embedded GPIO controller
  gpio: tc9563: Add support for the embedded GPIO controller
  PCI: qcom: Skip DWC MSI host initialization when DT 'msi-map' is present
  PCI: qcom: Ignore -ENODEV after Root Port reset
  PCI: qcom-ep: Deinitialize endpoint on remove
  PCI/sysfs: Reject unaligned resource I/O port accesses
  PCI: rcar-gen4: Add missing PM ops
  PCI: endpoint: pci-epf-vntb: Honor MSI-X selection
  PCI: endpoint: pci-epf-vntb: Use a local epf pointer in interrupt setup
  PCI: dwc: imx6: Use regmap_assign_bits() for conditional set/clear
  PCI: dwc: Describe DWC PCIe fields with full masks and FIELD_PREP()
  PCI: dwc: Rename pp-&gt;irq_domain to pp-&gt;msi_irq_domain
  PCI: dwc: Rename dw_pcie_allocate_domains() to dw_pcie_allocate_msi_domains()
  PCI: dwc: Correct PCIE_DW_PLAT_EP reference in Kconfig help
  PCI/ASPM: Disable ASPM when driver requests it
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull PCI updates from Bjorn Helgaas:
 "Enumeration:

   - Set supported_speeds in set_pcie_port_type() so sparc64 and
     powerpc, which call it via of_create_pci_dev() instead of the usual
     pci_setup_device(), correctly set the supported PCIe link speeds
     (Stian Halseth)

   - When pcie_set_mps() changes MPS, update the value in the saved
     state so a subsequent restore doesn't restore an invalid value
     (Niklas Cassel)

   - Skip Target Speed quirk on clamped ports with no link (Maciej W.
     Rozycki)

  Driver binding:

   - Assume control of portdrv-related features only when portdrv is
     enabled, since we can't use them without portdrv (Kuppuswamy
     Sathyanarayanan)

   - Centralize feature ownership checking so code only needs to check
     'host-&gt;native_X' and doesn't need to also check 'pcie_ports_native'
     (Kuppuswamy Sathyanarayanan)

  Error handling:

   - Fix leaks when ACPI APEI/GHES error events overflow the kfifo or
     mention a device that no longer exists (Priyank Rathod)

   - Fix aer_process_err_devices() leak when a device is recorded as an
     error source purely by being mentioned in the Root Port Error
     Source and the device is inaccessible or logged only masked errors
     (Priyank Rathod)

  ASPM:

   - Disable ASPM when drivers request that, even if the OS doesn't own
     ASPM; otherwise drivers do it on their own, which is worse (Ilpo
     Järvinen)

  Power management:

   - Align hibernate poweroff flow with suspend flow for bridges so they
     can be powered down at hibernate as they are for suspend (Mario
     Limonciello)

   - Restore BARs after powering up during enumeration to fix a
     regression on devices that don't preserve state in D3hot (Keng-Yu
     Lin)

   - Avoid D3 on PLX PEX 8532/8533/8548 downstream ports, where putting
     them in D3hot takes down the whole switch (Imre Kaloz)

  Power control:

   - Add GPIO driver for Toshiba TC9563 embedded GPIO controller (Alex
     Elder)

   - Add DT documentation and pwrctrl driver support for TC9563 embedded
     GPIO controller (Lorenzo Bianconi)

   - Switch the tc9563 per-port reset to use the GPIO descriptor API
     instead of direct regmap accesses (Lorenzo Bianconi)

   - Only destroy devices created by pwrctrl core, so that when removing
     a PCIe controller driver that uses pwrctrl, we don't remove devices
     populated by another mechanism (Shawn Lin)

   - Power off child devices on power-on failure (Lorenzo Bianconi)

  PCIe native device hotplug:

   - Make the 'pciehp_poll_mode' parameter read-only to prevent changes
     via sysfs, which can cause errors when unbinding (Runyu Xiao)

  Virtualization:

   - Read SR-IOV VF Revision ID and Subsystem ID from VF instead of
     assuming they're the same as VF 0; they may differ (Logan Odell)

   - Add ACS quirk for Pericom PI7C9X2G304 switches (Hans de Goede)

  Peer-to-peer DMA:

   - Add Zhaoxin KX-6000, KH-40000, KX-6000G, KX-7000, and KH-50000 host
     bridges to allowlist (LeoLiu-oc)

   - Add Alibaba T-HEAD Yitian 710 host bridge to allowlist (Feng Tang)

   - Add Intel Haswell client host bridge to allowlist (Scott Lee)

   - Intel Xeon E3/E5/E7 0x6f00 host bridge to allowlist (kai zhang)

   - Fix handling of errors in pci_p2pdma_add_resource() to avoid (a)
     unmapping a BAR if registering another fails and (b) use after free
     of p2p_pgmap (Leon Romanovsky)

   - Wait for RCU readers before freeing state to avoid use-after-free
     of pdev-&gt;p2pdma (Leon Romanovsky)

   - Restrict pci_p2pmem_find_many() to providers backed by a pool (Leon
     Romanovsky)

   - Safely terminate ACS redirect lists to avoid out-of-bounds access
     to the buffer (Leon Romanovsky)

   - Silence 'Host bridge not in P2PDMA whitelist' warnings unless
     caller, e.g., pci_p2pmem_find_many(), requests 'verbose' (Leon
     Romanovsky)

  Sysfs:

   - Return -ENODEV or -EIO sysfs 'label' or 'acpi_index' attributes
     when Device Name _DSM fails, not -1, which is interpreted as -EPERM
     (Krzysztof Wilczyński)

   - Return valid sysfs 'acpi_index' attribute even if the Device Name
     _DSM returned an invalid 'label' (Krzysztof Wilczyński)

   - Expose sysfs 'acpi_index' and 'label' based on whether the Device
     Name _DSM returns valid data, not merely whether the _DSM is
     implemented (Krzysztof Wilczyński)

   - Avoid out-of-bounds reads of the label returned by the Device Name
     _DSM, which is in UTF-16 characters, not bytes (Krzysztof
     Wilczyński)

   - Reject unaligned resource I/O port accesses, which can oops on
     arm64 (Deepanshu Kartikey)

Endpoint framework:

   - Pass the correct physical and virtual endpoint function numbers
     when setting translation of inbound memory windows (Koichiro Den)

   - Make embedded doorbell IRQ non-shared, since currently only the
     first EPF can allocate doorbells (Koichiro Den)

   - MSI doorbells currently target the first EPF attached to an EPC;
     let other EPFs try the embedded doorbell instead of failing when
     they can't use the MSI doorbell (Koichiro Den)

   - Serialize scan of vNTB virtual PCI bus with other PCI topology
     changes (Koichiro Den)

   - Manage vNTB lifetimes to avoid leaking virtual devices and buses
     and allow removal (Koichiro Den)

   - Track vNTB link state from both sides so both see the same
     effective link state (Koichiro Den)

   - Configure vNTB MSI-X when supported to avoid IOMMU faults and
     failure to deliver doorbell interrupts on RC (Koichiro Den)

  APM X-Gene PCIe controller driver:

   - Use devm for clocks so they're automatically disabled, unprepared,
     and released if errors happen during probe (Yuho Choi)

  ASPEED PCIe controller driver:

   - Fix clk and PHY leaks in aspeed_pcie_port_init() error paths (Liu
     Zhenlong)

  Broadcom iProc PCIe controller driver:

   - Expose devm_pci_alloc_host_bridge_release() so drivers can share a
     devm release function even if they don't need the device tree
     parsing done by devm_pci_alloc_host_bridge() (Bjorn Helgaas)

   - Request only the memory window from BCMA Enumeration ROM and warn
     if it doesn't match the one in DT, which fixes an iproc-bcma probe
     failure (Semih Baskan)

  Broadcom STB PCIe controller driver:

   - Replace bool properties for each SoC configuration with a u32
     bitvector and a BFLAG() helper (Jim Quinlan)

   - Use a similar BQUIRK() helper to test various SoC quirks (Jim
     Quinlan)

  Cadence PCIe controller driver:

   - Remove device links to PHY, which are redundant because the PHY
     core itself adds them (Vladimir Oltean)

   - Return error (not success) from cdns_plat_pcie_probe() if
     pm_runtime_get_sync() or cdns_pcie_ep_setup() failed (Vladimir
     Oltean)

   - Correct the driver data pointer usage; previously .probe() stored
     'struct cdns_plat_pcie *', but .shutdown() used the pointer as
     'struct cdns_pcie *', resulting in accessing garbage (Linmao Li)

  ESWIN PCIe controller driver:

   - Publish the platform driver MODULE_DEVICE_TABLE so the driver can
     be autoloaded when built as a module (Pengpeng Hou)

  Freescale i.MX6 PCIe controller driver:

   - Fix resource and pwrctrl device leaks .probe() (Zhijian Han)

   - Improve i.MX95 Gen3 link stability by changing MPLLB_BANDWIDTH from
     default 120 to 140 (Richard Zhu)

   - Use dev_err_probe() in host init error path to silence
     -EPROBE_DEFER messages (Alexander Stein)

   - Avoid dereferencing NULL clock names when 'clocks' includes more
     phandles than 'clock-names' has names (Rudi Heitbaum)

   - Add suspend_poweroff flag so platforms like i.MX that power off RC
     controllers during suspend can enter L2 so endpoints can get
     PME_Turn_Off notifications before power loss (Richard Zhu)

  Freescale Layerscape PCIe controller driver:

   - Enable PROBE_PREFER_ASYNCHRONOUS to reduce probe time of the four
     controllers on LX2160A (Vincent Jardin)

  Intel VMD host bridge driver:

   - Flush DMA writes before handling MSI on Meteor Lake: MSI may arrive
     before write has completed, resulting in an nvme 30 second stall
     before a QID timeout and possibly other similar problems (Rickey
     Bartlett)

   - Flush DMA writes before handling MSI on Arrow Lake (Vladimir
     Nedoshivin)

  Marvell Aardvark PCIe controller driver:

   - Disable PHY on probe failures (Myeonghun Pak)

  Marvell MVEBU PCIe controller driver:

   - Refcount child OF nodes during .probe() to make a concurrent OF
     overlay removal safe (Krzysztof Kozlowski)

  MediaTek PCIe controller driver:

   - Find INTx DT property by 'interrupt-controller' name instead of
     assuming it's the first child node (Zhengping Zhang)

  MediaTek PCIe Gen3 controller driver:

   - Fix a 64-bit type truncation in mtk_pcie_set_trans_table() to avoid
     issues with windows above or larger than 4GB (Sreeraj S Kurup)

  NVIDIA Tegra264 PCIe controller driver:

   - Fix the Link Capabilities offset so we read the correct register
     (Bjorn Helgaas)

  Qualcomm PCIe controller driver:

   - Only collect reset GPIOs from PCI bridge DT nodes to avoid stealing
     resets used by downstream devices like USB controllers (Christopher
     Obbard)

   - Block accesses to downstream devices on link down to reduce a storm
     of Completion Timeout AER interrupts (Qiang Yu)

   - Skip system suspend/resume for firmware-managed PCIe, where
     firmware manages clocks, regulators, resets, etc (Mrinmay Sarkar)

   - Honor IOMMU provider's #iommu-cells in qcom_pcie_config_sid_1_9_0()
     (Manivannan Sadhasivam)

   - Deinitialize endpoint on remove (Guangshuo Li)

   - Treat Root Port error recovery as successful even if link doesn't
     come up after reset because the device was hot-unplugged (Konrad
     Dybcio)

   - Skip unnecessary iMSI-RX initialization if DT 'msi-map' is present,
     indicating an external MSI controller (Ayiluri Naga Rashmi)

  Renesas R-Car PCIe controller driver:

   - Limit Max_Read_Request_Size to 256 to avoid hardware erratum (Marek
     Vasut)

   - Support PERST# via reset subsystem as well as the existing GPIO
     support to prepare for R-Car Gen5 SoCs (Marek Vasut)

   - Add DT and driver support for the R-Car Gen 5 X5H (R8A78000) PCIe
     Gen 4 core (Marek Vasut)

   - Add Application/Local register reset DT description and driver
     support for both host and endpoint mode (Marek Vasut)

   - Add PM ops so controller works after suspend/resume (Marek Vasut)

  Renesas RZ/G3S PCIe controller driver:

   - Disable refclk on probe failure (Lad Prabhakar)

   - Propagate platform_get_irq_byname() errors so probe deferral works
     correctly (Lad Prabhakar)

   - Tear down INTx handlers if subsequent initialization fails (Lad
     Prabhakar)

   - Add RZ/G3L (R9A08G046) DT and driver support (Biju Das)

  Rockchip PCIe controller driver:

   - Limit host and endpoint controllers to 2.5 GT/s since 5.0 GT/s is
     unsafe per Rockchip (Geraldo Nascimento)

  Synopsys DesignWare PCIe controller driver:

   - Set DMA_BYPASS bit in outbound IATU CTRL2 register to avoid data
     corruption if the iATU translates DMA engine transactions (Sumit
     Kumar)

   - Use FIELD_PREP() to remove need for *_SHIFT definitions (Hans
     Zhang)

  TI DRA7xx PCIe controller driver:

   - Remove device links to PHY, which are redundant because the PHY
     core itself adds them (Vladimir Oltean)

   - Fix optional clock leak when .probe() fails by using
     devm_clk_get_optional_enabled() (Felix Gu)

  TI Keystone PCIe controller driver:

   - Remove device links to PHY, which are redundant because the PHY
     core itself adds them (Vladimir Oltean)

  UltraRISC PCIe controller driver:

   - Allow DWC drivers to skip outbound iATU setup if they don't need
     translation between CPU and PCI addresses (Xincheng Zhang)

   - Skip MEM outbound iATU setup on DP1000 (Xincheng Zhang)

  Xilinx Versal CPM PCIe controller driver:

   - Add DT and driver support for optional PERST# for use in warm reset
     scenarios (Sai Krishna Musham)

  Xilinx XDMA PCIe controller driver:

   - Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain()
     (Wentao Liang)"

* tag 'pci-v7.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (139 commits)
  PCI/pwrctrl: Power off child devices on power-on failure
  PCI/pwrctrl: Only destroy devices created by pwrctrl core
  PCI/pwrctrl: generic: Fix leaking array from of_regulator_bulk_get_all()
  PCI/pwrctrl: tc9563: Switch per-port reset to GPIO descriptor API
  PCI/pwrctrl: tc9563: Add GPIO auxiliary device support
  dt-bindings: PCI: toshiba,tc9563: Document embedded GPIO controller
  gpio: tc9563: Add support for the embedded GPIO controller
  PCI: qcom: Skip DWC MSI host initialization when DT 'msi-map' is present
  PCI: qcom: Ignore -ENODEV after Root Port reset
  PCI: qcom-ep: Deinitialize endpoint on remove
  PCI/sysfs: Reject unaligned resource I/O port accesses
  PCI: rcar-gen4: Add missing PM ops
  PCI: endpoint: pci-epf-vntb: Honor MSI-X selection
  PCI: endpoint: pci-epf-vntb: Use a local epf pointer in interrupt setup
  PCI: dwc: imx6: Use regmap_assign_bits() for conditional set/clear
  PCI: dwc: Describe DWC PCIe fields with full masks and FIELD_PREP()
  PCI: dwc: Rename pp-&gt;irq_domain to pp-&gt;msi_irq_domain
  PCI: dwc: Rename dw_pcie_allocate_domains() to dw_pcie_allocate_msi_domains()
  PCI: dwc: Correct PCIE_DW_PLAT_EP reference in Kconfig help
  PCI/ASPM: Disable ASPM when driver requests it
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/xilinx-dma-pl'</title>
<updated>2026-10-21T18:20:39+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f04ea86f988cb43fcf1caf09a1bf242f06750cf7'/>
<id>f04ea86f988cb43fcf1caf09a1bf242f06750cf7</id>
<content type='text'>
- Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain()
  (Wentao Liang)

* pci/controller/xilinx-dma-pl:
  PCI: xilinx-xdma: Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain()
  (Wentao Liang)

* pci/controller/xilinx-dma-pl:
  PCI: xilinx-xdma: Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain()
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/xilinx-cpm'</title>
<updated>2026-10-21T18:20:39+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=15b0d8e9dbcc2911db056b7520d4fa38bd30ae7f'/>
<id>15b0d8e9dbcc2911db056b7520d4fa38bd30ae7f</id>
<content type='text'>
- Add DT and driver support for optional PERST# for use in warm reset
  scenarios (Sai Krishna Musham)

* pci/controller/xilinx-cpm:
  PCI: xilinx-cpm: Add support for PCIe RP PERST# signal
  dt-bindings: PCI: xilinx-versal-cpm: Add PERST# and reset support
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add DT and driver support for optional PERST# for use in warm reset
  scenarios (Sai Krishna Musham)

* pci/controller/xilinx-cpm:
  PCI: xilinx-cpm: Add support for PCIe RP PERST# signal
  dt-bindings: PCI: xilinx-versal-cpm: Add PERST# and reset support
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/xgene'</title>
<updated>2026-10-21T18:20:38+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9471632b0c6b04bcc9b89cc908cd6373efd41812'/>
<id>9471632b0c6b04bcc9b89cc908cd6373efd41812</id>
<content type='text'>
- Use devm for clocks so they're automatically disabled, unprepared, and
  released if errors happen during probe (Yuho Choi)

* pci/controller/xgene:
  PCI: xgene: Use managed clock for PCIe controller
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Use devm for clocks so they're automatically disabled, unprepared, and
  released if errors happen during probe (Yuho Choi)

* pci/controller/xgene:
  PCI: xgene: Use managed clock for PCIe controller
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/vmd'</title>
<updated>2026-10-21T18:20:38+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=abed5c0eb039e3e397e40b53e741227aee7bef18'/>
<id>abed5c0eb039e3e397e40b53e741227aee7bef18</id>
<content type='text'>
- Flush DMA writes before handling MSI on Meteor Lake: MSI may arrive
  before write has completed, resulting in an nvme 30 second stall before a
  QID timeout and possibly other similar problems (Rickey Bartlett)

- Flush DMA writes before handling MSI on Arrow Lake (Vladimir Nedoshivin)

* pci/controller/vmd:
  PCI: vmd: Flush DMA writes before handling MSI on Arrow Lake
  PCI: vmd: Flush DMA writes before handling MSI on Meteor Lake
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Flush DMA writes before handling MSI on Meteor Lake: MSI may arrive
  before write has completed, resulting in an nvme 30 second stall before a
  QID timeout and possibly other similar problems (Rickey Bartlett)

- Flush DMA writes before handling MSI on Arrow Lake (Vladimir Nedoshivin)

* pci/controller/vmd:
  PCI: vmd: Flush DMA writes before handling MSI on Arrow Lake
  PCI: vmd: Flush DMA writes before handling MSI on Meteor Lake
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/tegra264'</title>
<updated>2026-10-21T18:20:37+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a236271d8d40c10fa275f7548f6cc4c778c48544'/>
<id>a236271d8d40c10fa275f7548f6cc4c778c48544</id>
<content type='text'>
- Fix the Link Capabilities offset so we read the correct register (Bjorn
  Helgaas)

* pci/controller/tegra264:
  PCI: tegra264: Fix Link Capabilities register offset
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix the Link Capabilities offset so we read the correct register (Bjorn
  Helgaas)

* pci/controller/tegra264:
  PCI: tegra264: Fix Link Capabilities register offset
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/rzg3s-host'</title>
<updated>2026-10-21T18:20:37+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f561825595f69acbdfead2e9352c4e9efb1ec8a8'/>
<id>f561825595f69acbdfead2e9352c4e9efb1ec8a8</id>
<content type='text'>
- Disable refclk on probe failure (Lad Prabhakar)

- Propagate platform_get_irq_byname() errors so probe deferral works
  correctly (Lad Prabhakar)

- Tear down INTx handlers if subsequent initialization fails (Lad
  Prabhakar)

- Add RZ/G3L (R9A08G046) DT and driver support (Biju Das)

* pci/controller/rzg3s-host:
  PCI: rzg3s-host: Add support for RZ/G3L SoC
  dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
  PCI: rzg3s: Fix IRQ domain initialization error handling
  PCI: rzg3s: Propagate platform_get_irq_byname() errors
  PCI: rzg3s: Disable refclk on probe failure
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Disable refclk on probe failure (Lad Prabhakar)

- Propagate platform_get_irq_byname() errors so probe deferral works
  correctly (Lad Prabhakar)

- Tear down INTx handlers if subsequent initialization fails (Lad
  Prabhakar)

- Add RZ/G3L (R9A08G046) DT and driver support (Biju Das)

* pci/controller/rzg3s-host:
  PCI: rzg3s-host: Add support for RZ/G3L SoC
  dt-bindings: PCI: renesas,r9a08g045s33-pcie: Document RZ/G3L SoC
  PCI: rzg3s: Fix IRQ domain initialization error handling
  PCI: rzg3s: Propagate platform_get_irq_byname() errors
  PCI: rzg3s: Disable refclk on probe failure
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/mediatek-gen3'</title>
<updated>2026-10-21T18:20:36+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=29f5f43baa1395e07c61bb4a81504cb6e383181e'/>
<id>29f5f43baa1395e07c61bb4a81504cb6e383181e</id>
<content type='text'>
- Fix a 64-bit type truncation in mtk_pcie_set_trans_table() to avoid
  issues with windows above or larger than 4GB (Sreeraj S Kurup)

* pci/controller/mediatek-gen3:
  PCI: mediatek-gen3: Fix 64-bit type truncation in mtk_pcie_set_trans_table()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix a 64-bit type truncation in mtk_pcie_set_trans_table() to avoid
  issues with windows above or larger than 4GB (Sreeraj S Kurup)

* pci/controller/mediatek-gen3:
  PCI: mediatek-gen3: Fix 64-bit type truncation in mtk_pcie_set_trans_table()
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/mediatek'</title>
<updated>2026-10-21T18:20:36+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2026-10-21T18:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ceca44e0b06b142550680dcef29ed7d821e4d855'/>
<id>ceca44e0b06b142550680dcef29ed7d821e4d855</id>
<content type='text'>
- Find INTx DT property by 'interrupt-controller' name instead of assuming
  it's the first child node (Zhengping Zhang)

* pci/controller/mediatek:
  PCI: mediatek: Find INTx controller by property
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Find INTx DT property by 'interrupt-controller' name instead of assuming
  it's the first child node (Zhengping Zhang)

* pci/controller/mediatek:
  PCI: mediatek: Find INTx controller by property
</pre>
</div>
</content>
</entry>
</feed>
