[GIT PULL] PCI changes for v7.2
From: Bjorn Helgaas
Date: Wed Jun 24 2026 - 07:00:35 EST
The following changes since commit 254f49634ee16a731174d2ae34bc50bd5f45e731:
Linux 7.1-rc1 (2026-04-26 14:19:00 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v7.2-changes
for you to fetch changes up to 2c2fb7a8aa10e9ca7f2a49d426469ec89e3b267a:
Merge branch 'pci/misc' (2026-06-23 17:32:24 -0500)
----------------------------------------------------------------
Enumeration:
- Remove MPS/MRRS Kconfig settings (CONFIG_PCIE_BUS_*) that worked around
a WiFi device defect; use a quirk or boot-time "pci=pcie_bus_tune_*"
kernel parameter instead (Bjorn Helgaas)
- Always lift 2.5GT/s restriction in PCIe failed link retraining to avoid
clamping a link to 2.5GT/s after hot-plug changes the device (Maciej W.
Rozycki)
- Request bus reassignment when not probe-only to fix an enumeration
regression on Marvell CN106XX and possibly other DT-based systems
(Ratheesh Kannoth)
- Fix procfs race between pci_proc_init() and pci_bus_add_device() that
resulted in 'proc_dir_entry ... already registered' warnings and
pointer corruption (Krzysztof Wilczyński)
- Fix sysfs race that causes 'duplicate filename' warnings and boot
panics by converting PCI resource files to static attributes (Krzysztof
Wilczyński)
- Expose sysfs 'resourceN_resize' attributes only on platforms with PCI
mmap (Krzysztof Wilczyński)
- Require CAP_SYS_ADMIN to write to sysfs 'resourceN_resize' attributes
(Krzysztof Wilczyński)
- Add security_locked_down(LOCKDOWN_PCI_ACCESS) to alpha PCI resource
mmap path to match the generic path (Krzysztof Wilczyński)
- Use kstrtobool() to parse the 'rom' attribute input to avoid the
unexpected behavior of enabling the ROM when writing '0' with no
trailing newline (Krzysztof Wilczyński)
Resource management:
- Improve resource claim logging for debuggability (Ilpo Järvinen)
- Clean up several uses of const parameters (Ilpo Järvinen)
- Check option ROM header signatures and lengths before accessing to
avoid page faults and alignment faults (Guixin Liu)
ASPM:
- Don't reconfigure ASPM when entering low-power D-state; only do it when
returning back to D0 (Carlos Bilbao)
Power management:
- During suspend, set power state to 'unknown' for all devices, not just
those with drivers (Lukas Wunner)
- Skip restoring Resizable BARs and VF Resizable BARs if device doesn't
respond to config reads, to avoid invalid array accesses (Marco
Nenciarini)
- Add pci_suspend_retains_context() so drivers can tell whether devices
retain internal state across suspend/resume, since some platforms reset
devices on suspend; use this in nvme to avoid issues on Qcom RCs
(Manivannan Sadhasivam)
Power control:
- Only to power on/off devices that actually support power control to
avoid poking at incompatible devices mentioned in DT (Manivannan
Sadhasivam)
Virtualization and resets:
- Log device readiness timeouts as errors, not warnings, because the
device is likely unusable in this case (Bjorn Helgaas)
- Wait for device readiness after soft reset (D3hot -> D0uninitialized
transition), when the device may respond with Request Retry Status
(RRS) if it needs more time to initialize (Bjorn Helgaas)
- Drop unnecessary retries when restoring BARs because resets should now
already include all required delays (Lukas Wunner)
- Avoid FLR for MediaTek MT7925 WiFi, where FLR fails after a VM
terminates uncleanly (Jose Ignacio Tornos Martinez)
- Avoid SBR for Qualcomm WCN6855/WCN7850 WiFi, SDX62/SDX65 modems, which
seem not to support it correctly (Jose Ignacio Tornos Martinez)
Peer-to-peer DMA:
- Prevent P2PDMA as well as CPU access to non-mappable BARs, e.g., s390
ISM BARs (Matt Evans)
- Add Intel QAT, DSA, IAA devices to whitelist (Lukas Wunner)
Endpoint framework:
- Add endpoint controller APIs for use by function drivers to discover
auxiliary blocks like DMA engines (Koichiro Den)
- Remember DesignWare eDMA engine base/size and expose them via the EPC
aux-resource API (Koichiro Den)
- Add endpoint embedded doorbell fallback, used if MSI allocation fails
(Koichiro Den)
- Validate BAR index and remove dead BAR read in endpoint doorbell test
(Carlos Bilbao)
- Unwind MSI/MSI-X vectors if NTB initialization fails part-way through
(Koichiro Den)
- Cache sleepable pci_irq_vector() value at ISR setup to avoid calling it
from hardirq context (Koichiro Den)
- Call sleepable pci_epc_raise_irq() from a work item instead of atomic
context, e.g., when setting bits in NTB peer doorbells in the
ntb_peer_db_set() path (Koichiro Den)
- Report 0-based vNTB doorbell vector to account for link event 0 and
historically skipped slot 1 (Koichiro Den)
- Prevent configfs writes to vNTB db_count and other values that are
already in use after EPC attach (Koichiro Den)
- Account for vNTB db_valid reserved slots (link event 0 and historically
skipped slot 1) so they don't appear as valid doorbells (Koichiro Den)
- Implement vNTB .db_vector_count()/mask() for doorbells so clients can
use multiple vectors and avoid thundering herds (Koichiro Den)
- Report 0-based NTB doorbell vector to account for link event 0 and
historically skipped slot 1 (Koichiro Den)
- Fix doorbell bitmask and IRQ vector handling to clear only specified
bits, use the correct vector for non-contiguous Linux IRQ numbers, and
validate incoming vectors (Koichiro Den)
- Implement NTB .db_vector_count()/mask() for doorbells so clients can
use multiple vectors (Koichiro Den)
Native PCIe controller infrastructure:
- Add pci_host_common_link_train_delay() for the mandatory delay after
> 5GT/s Link training completes and use it for cadence HPA, j721e, LGA;
dwc; aardvark, mediatek-gen3, rzg3s (Hans Zhang)
- Protect root bus removal with rescan lock in altera, brcmstb, cadence,
dwc, iproc, mediatek, plda, rockchip to prevent use-after-free or
crashes when racing with sysfs rescan or hotplug (Hans Zhang)
- Add pci_host_common_parse_ports() for use by any native driver to parse
Root Port properties (per-Link features like width, speed, PHY, power
and reset control, etc should be described in Root Port stanzas, not
the host bridge; currently only reset GPIOs implemented) (Sherry Sun)
New native PCIe controller drivers:
- Add DT binding and driver for UltraRISC DP1000 PCIe controller
(Xincheng Zhang, Jia Wang)
Altera PCIe controller driver:
- Do not dispose of the parent IRQ mapping, which belongs to the parent
interrupt controller (Mahesh Vaidya)
- Fix chained IRQ handler ordering issue and resource leaks on probe
failure (Mahesh Vaidya)
AMD MDB PCIe controller driver:
- Assert PERST# on shutdown so any connected Endpoints are held in reset
during shutdown (Sai Krishna Musham)
Amlogic Meson PCIe controller driver:
- Propagate devm_add_action_or_reset() failure to fix probe error path
(Shuvam Pandey)
- Add .remove() callback to deinitialize the host bridge and power off
the PHY (Shuvam Pandey)
Broadcom iProc PCIe controller driver:
- Restore .map_irq() assignment; its removal broke INTx on the iproc
platform bus driver (Mark Tomlinson)
Broadcom STB PCIe controller driver:
- No change, but products using certain WiFi devices may be affected by
removal of CONFIG_PCIE_BUS_* (see above)
Freescale i.MX6 PCIe controller driver:
- Move IMX6SX_GPR12_PCIE_TEST_POWERDOWN handling into the core reset
functions (Richard Zhu)
- Assert PERST# before enabling regulators to ensure that even if power
is enabled, endpoint stays inactive until REFCLK is stable (Sherry Sun)
- Parse reset properties in Root Port nodes (falling back to host bridge)
to help support Key E connectors and the pwrctrl framework (Sherry Sun)
- Configure i.MX95 REF_USE_PAD before PHY reset (Richard Zhu)
- Assert i.MX95 ref_clk_en after reference clock stabilizes (Richard Zhu)
- Integrate new pwrctrl API for DTs with Root Port-level power supplies
(Sherry Sun)
Intel Gateway PCIe controller driver:
- Enable clock before PHY init for correct ordering (Florian Eckert)
- Add .start_link() callback so the driver works again (Florian Eckert)
- Stop overwriting the ATU base address discovered by
dw_pcie_get_resources() (Florian Eckert)
- Add DT 'atu' region since this is hardware-specific, and fall back to
driver default if lacking (Florian Eckert)
Loongson PCIe controller driver:
- Ignore downstream devices only on internal bridges to avoid Loongson
hardware issue (Rong Zhang)
- Quirk old Loongson-3C6000 bridges that advertise incorrect supported
link speeds (Ziyao Li)
Marvell MVEBU PCIe controller driver:
- Use fixed-width interrupt masks to avoid truncation in 64-bit builds
(Rosen Penev)
MediaTek PCIe controller driver:
- Use FIELD_PREP() to fix incorrect operator precedence in
PCIE_FTS_NUM_L0 (Li RongQing)
- Fix IRQ domain leak when port fails to enable (Manivannan Sadhasivam)
- Use actual physical address for MSI message address instead of
virt_to_phys() (Manivannan Sadhasivam)
- Add EcoNet EN7528 to DT binding (Caleb James DeLisle)
MediaTek PCIe Gen3 controller driver:
- Deassert PCIE_PHY_RSTB so REFCLK is stable for at least 100ms
(PCIE_T_PVPERL_MS) before deasserting PERST# (Jian Yang)
- Add .shutdown() to assert PERST# before powering down device (Jian
Yang)
- Do full device power down on removal, including asserting PERST#, when
removing driver (Chen-Yu Tsai)
- Fix a 'failed to create pwrctrl devices' error message that was
inadvertently skipped (Chen-Yu Tsai)
NVIDIA Tegra194 PCIe controller driver:
- Program the DesignWare PORT_AFR L1 entrance latency based on the
'aspm-l1-entry-delay-ns' DT property (Manikanta Maddireddy)
Qualcomm PCIe controller driver:
- Add Eliza SoC compatible in DT binding (Krishna Chaitanya Chundru)
- Set max OPP during resume so DBI register accesses don't fail with NoC
errors (Qiang Yu)
- Add pci_host_common_d3cold_possible() to determine whether downstream
devices are already in D3hot and wakeup-enabled devices are capable of
generating PME from D3cold (Krishna Chaitanya Chundru)
- Add .get_ltssm() callback to get the LTSSM status without DBI, since
DBI may be inaccessible after PME_Turn_Off (Krishna Chaitanya Chundru)
- Power down PHY via PARF_PHY_CTRL before disabling rails/clocks to avoid
power leakage (Krishna Chaitanya Chundru)
- Decide whether suspend should put the link in L2 and power down using
pci_host_common_d3cold_possible() instead of checking whether ASPM L1
is enabled (Krishna Chaitanya Chundru)
- Add qcom D3cold support to tear down interconnect bandwidth and OPP
votes (Krishna Chaitanya Chundru)
- Handle unsupported mixed PERST#/PHY DT configurations, e.g., PHY in RP
node while PERST# is in the RC node, but warn about the DT issue (Qiang
Yu)
- Program T_POWER_ON based on DT 't-power-on-us' property in case
hardware advertises incorrect values (Krishna Chaitanya Chundru)
- Disable ASPM L0s for SA8775P (Shawn Guo)
- Initialize DWC MSI lock for firmware-managed ECAM hosts, which don't
use the dw_pcie_host_init() path that initializes the lock (Yadu M G)
Renesas RZ/G3S PCIe controller driver:
- Add RZ/V2N DT support (Lad Prabhakar)
SOPHGO PCIe controller driver:
- Add 'dma-coherent' DT property for sg2042-pcie driver (Han Gao)
Synopsys DesignWare PCIe controller driver:
- Apply ECRC TLP Digest workaround for all DesignWare cores prior to
5.10a, not just 4.90a and 5.00a (Manikanta Maddireddy)
- Use common struct dw_pcie 'mode' rather than duplicating it in artpec6,
dra7xx, dwc-pcie, and keembay driver structs (Hans Zhang)
- Use DEFINE_SHOW_ATTRIBUTE for ltssm_status debugfs to reduce
boilerplate and fix a seq_file memory leak by including a .release()
callback (Hans Zhang)
- Fix a signedness bug in fault injection test code (Dan Carpenter)
- Avoid NULL pointer dereference when tearing down debugfs for controller
that lacks RAS DES capability (Shuvam Pandey)
MicroSemi Switchtec management driver:
- Add Gen6 Device IDs (Ben Reed)
Miscellaneous:
- Remove unused gpio.h include from amd-mdb, designware-plat, fu740,
visconti drivers (Andy Shevchenko)
- Fix typos in documentation (josh ziegler)
- Use FIELD_MODIFY() instead of open-coding it (Hans Zhang)
----------------------------------------------------------------
Andy Shevchenko (4):
PCI: amd-mdb: Use the right GPIO header
PCI: designware-plat: Drop unused include
PCI: fu740: Drop unused include
PCI: visconti: Drop unused include
Bartosz Golaszewski (1):
PCI/pwrctrl: Lock device when calling device_is_bound()
Ben Reed (1):
PCI: switchtec: Add Gen6 Device IDs
Bjorn Helgaas (38):
PCI: Remove MPS/MRRS Kconfig settings (CONFIG_PCIE_BUS_*)
PCI: Log device readiness timeouts as errors
PCI: Wait for device readiness after D3hot -> D0uninitialized transition
Merge branch 'pci/aspm'
Merge branch 'pci/enumeration'
Merge branch 'pci/p2pdma'
Merge branch 'pci/pm'
Merge branch 'pci/procfs'
Merge branch 'pci/pwrctrl'
Merge branch 'pci/reset'
Merge branch 'pci/resource'
Merge branch 'pci/rom'
Merge branch 'pci/sysfs'
Merge branch 'pci/virtualization'
Merge branch 'pci/switchtec'
Merge branch 'pci/dt-binding'
Merge branch 'pci/endpoint'
Merge branch 'pci/controller/host-common'
Merge branch 'pci/controller/altera'
Merge branch 'pci/controller/dwc'
Merge branch 'pci/controller/dwc-amd-mdb'
Merge branch 'pci/controller/dwc-imx6'
Merge branch 'pci/controller/dwc-intel-gw'
Merge branch 'pci/controller/dwc-meson'
Merge branch 'pci/controller/dwc-qcom'
Merge branch 'pci/controller/dwc-tegra194'
Merge branch 'pci/controller/dwc-ultrarisc'
Merge branch 'pci/controller/iproc-bcma'
Merge branch 'pci/controller/loongson'
Merge branch 'pci/controller/mediatek'
Merge branch 'pci/controller/mediatek-gen3'
Merge branch 'pci/controller/mvebu'
Merge branch 'pci/controller/rcar-host'
Merge branch 'pci/controller/link_train_delay'
Merge branch 'pci/controller/rescan_lock'
Merge branch 'pci/controller/tlp_macros'
Merge branch 'pci/controller/misc'
Merge branch 'pci/misc'
Caleb James DeLisle (1):
dt-bindings: PCI: mediatek: Add support for EcoNet EN7528
Carlos Bilbao (3):
PCI/ASPM: Don't reconfigure ASPM entering low-power state
misc: pci_endpoint_test: Validate BAR index in doorbell test
misc: pci_endpoint_test: Remove dead BAR read before doorbell trigger
Chen-Yu Tsai (2):
PCI: mediatek-gen3: Do full device power down on removal
PCI: mediatek-gen3: Fix incorrectly skipped pwrctrl error message
Dan Carpenter (1):
PCI: dwc: Fix signedness bug in fault injection test code
Florian Eckert (6):
PCI: intel-gw: Remove unused PCIE_APP_INTX_OFST definition
PCI: intel-gw: Move interrupt enable to own function
PCI: intel-gw: Enable clock before PHY init
PCI: intel-gw: Add .start_link() callback
PCI: intel-gw: Fix ATU base address setup and add optional DT 'atu' region
dt-bindings: PCI: intel,lgm-pcie: Add 'atu' resource
Guixin Liu (2):
PCI: Introduce named defines for PCI ROM
PCI: Check ROM header and data structure addr before accessing
Han Gao (1):
dt-bindings: PCI: sophgo: Add dma-coherent property for SG2042
Hans Zhang (24):
PCI: Use FIELD_MODIFY() instead of open-coding it
PCI: dra7xx: Use common mode field in struct dw_pcie
PCI: artpec6: Use common mode field in struct dw_pcie
PCI: dwc: Use common mode field in struct dw_pcie
PCI: keembay: Use common mode field in struct dw_pcie
PCI: dwc: Use DEFINE_SHOW_ATTRIBUTE for ltssm_status debugfs
PCI: Add common TLP type macros and convert aspeed/mediatek
PCI: dwc: Replace ATU type macros with common TLP type macros
PCI: cadence: Use common TLP type macros
PCI: Add pci_host_common_link_train_delay() helper
PCI: cadence: Add post-link delay for LGA and j721e glue driver
PCI: altera: Protect root bus removal with rescan lock
PCI: brcmstb: Protect root bus removal with rescan lock
PCI: cadence: Protect root bus removal with rescan lock
PCI: dwc: Protect root bus removal with rescan lock
PCI: iproc: Protect root bus removal with rescan lock
PCI: mediatek: Protect root bus removal with rescan lock
PCI: plda: Protect root bus removal with rescan lock
PCI: rockchip: Protect root bus removal with rescan lock
PCI: cadence-hpa: Add post-link delay
PCI: dwc: Use common pci_host_common_link_train_delay() helper
PCI: aardvark: Add 100 ms delay after link training
PCI: mediatek-gen3: Add 100 ms delay after link up
PCI: rzg3s-host: Use common pci_host_common_link_train_delay() helper
Ilpo Järvinen (9):
PCI: Log all resource claims
PCI: Rename 'added' to 'add_list'
PCI: Consolidate add_list (aka realloc_head) empty sanity checks
PCI: Remove const removal cast
resource: Make resource_alignment() input const resource
powerpc/pseries: Make pseries_get_iov_fw_value() & pnv_iov_get() pci_dev const
PCI: Make pci_sriov_resource_alignment() pci_dev const
PCI: Convert pci_resource_alignment() input parameters to const
PCI: Move pci_resource_alignment() to setup-res.c file
Jia Wang (1):
dt-bindings: PCI: Add UltraRISC DP1000 PCIe controller
Jian Yang (2):
PCI: mediatek-gen3: Fix PERST# control timing during system startup
PCI: mediatek-gen3: Add a .shutdown() callback to control PERST# signal
Jose Ignacio Tornos Martinez (2):
PCI: Avoid FLR for MediaTek MT7925 WiFi
PCI: Avoid SBR for Qualcomm WCN6855/WCN7850 WiFi, SDX62/SDX65 modems
Koichiro Den (21):
PCI: endpoint: Add auxiliary resource query API
PCI: dwc: Record integrated eDMA register window
PCI: dwc: ep: Expose integrated eDMA resources via EPC aux-resource API
PCI: endpoint: pci-ep-msi: Refactor doorbell allocation for new backends
PCI: endpoint: pci-epf-vntb: Reuse pre-exposed doorbells and IRQ flags
PCI: endpoint: pci-epf-test: Reuse pre-exposed doorbell targets
PCI: endpoint: pci-ep-msi: Add embedded doorbell fallback
NTB: epf: Fix request_irq() unwind in ntb_epf_init_isr()
NTB: epf: Avoid calling pci_irq_vector() from hardirq context
PCI: endpoint: pci-epf-vntb: Document legacy MSI doorbell offset
PCI: endpoint: pci-epf-vntb: Defer pci_epc_raise_irq() out of atomic context
PCI: endpoint: pci-epf-vntb: Report 0-based doorbell vector via ntb_db_event()
PCI: endpoint: pci-epf-vntb: Reject unusable doorbell counts
PCI: endpoint: pci-epf-vntb: Guard configfs writes after EPC attach
PCI: endpoint: pci-epf-vntb: Exclude reserved slots from db_valid_mask
PCI: endpoint: pci-epf-vntb: Implement .db_vector_count()/mask() for doorbells
NTB: epf: Document legacy doorbell slot offset in ntb_epf_peer_db_set()
NTB: epf: Make db_valid_mask cover only real doorbell bits
NTB: epf: Report 0-based doorbell vector via ntb_db_event()
NTB: epf: Fix doorbell bitmask and IRQ vector handling
NTB: epf: Implement .db_vector_count()/mask() for doorbells
Krishna Chaitanya Chundru (9):
PCI: host-common: Add pci_host_common_d3cold_possible() helper
PCI: qcom: Add .get_ltssm() callback to query LTSSM status
PCI: qcom: Power down PHY via PARF_PHY_CTRL before disabling rails/clocks
PCI: dwc: Use common D3cold eligibility helper in suspend path
PCI: qcom: Add D3cold support
PCI/ASPM: Add pcie_encode_t_power_on() helper to encode L1SS T_POWER_ON fields
PCI: dwc: Add dw_pcie_program_t_power_on() to program T_POWER_ON
PCI: qcom: Program T_POWER_ON
dt-bindings: PCI: qcom,pcie-sm8550: Add Eliza compatible
Krzysztof Wilczyński (26):
PCI/sysfs: Use PCI resource accessor macros
PCI: Add pci_resource_is_io() and pci_resource_is_mem() helpers
PCI/sysfs: Only allow supported resource types in I/O and MMIO helpers
PCI/sysfs: Split pci_llseek_resource() for device and legacy attributes
PCI/sysfs: Add CAP_SYS_ADMIN check to __resource_resize_store()
PCI/sysfs: Add static PCI resource attribute macros
PCI/proc: Fix race between pci_proc_init() and pci_bus_add_device()
PCI/sysfs: Convert PCI resource files to static attributes
PCI/sysfs: Warn about BAR resize failure in __resource_resize_store()
PCI/sysfs: Add stubs for pci_{create,remove}_sysfs_dev_files()
PCI/sysfs: Limit pci_sysfs_init() late_initcall compile scope
alpha/PCI: Add security_locked_down() check to pci_mmap_resource()
alpha/PCI: Use BAR index in sysfs attr->private instead of resource pointer
alpha/PCI: Use PCI resource accessor macros
alpha/PCI: Fix __pci_mmap_fits() overflow for zero-length BARs
alpha/PCI: Remove WARN from __pci_mmap_fits() and __legacy_mmap_fits()
alpha/PCI: Add static PCI resource attribute macros
alpha/PCI: Convert resource files to static attributes
PCI/sysfs: Remove pci_{create,remove}_sysfs_dev_files()
PCI: Add macros for legacy I/O and memory address space sizes
alpha/PCI: Compute legacy size in pci_mmap_legacy_page_range()
PCI/sysfs: Add __weak pci_legacy_has_sparse() helper
PCI/sysfs: Convert legacy I/O and memory attributes to static definitions
PCI/sysfs: Remove pci_create_legacy_files() and pci_sysfs_init()
PCI/sysfs: Limit BAR resize attribute scope to platforms with PCI mmap
PCI/sysfs: Use kstrtobool() to parse the ROM attribute input
Lad Prabhakar (2):
PCI: rcar-host: Remove unused LIST_HEAD(res)
dt-bindings: PCI: renesas,r9a08g045-pcie: Add RZ/V2N support
Li RongQing (1):
PCI: mediatek: Fix operator precedence in PCIE_FTS_NUM_L0 macro
Lukas Wunner (3):
PCI: Stop setting cached power state to 'unknown' on unbind
PCI: Drop unnecessary retries when restoring BARs
PCI/P2PDMA: Add Intel QAT, DSA, IAA devices to whitelist
Maciej W. Rozycki (3):
PCI: Always lift 2.5GT/s restriction in PCIe failed link retraining
PCI: Use pcie_get_speed_cap() in PCIe failed link retraining
PCI: Bail out early for 2.5GT/s devices in PCIe failed link retraining
Mahesh Vaidya (2):
PCI: altera: Do not dispose parent IRQ mapping
PCI: altera: Fix resource leaks on probe failure
Manikanta Maddireddy (2):
PCI: dwc: Apply ECRC workaround for DesignWare cores prior to 5.10a
PCI: tegra194: Use aspm-l1-entry-delay-ns DT property for L1 entrance latency
Manivannan Sadhasivam (10):
PCI/pwrctrl: Move pci_pwrctrl_is_required() earlier in file
PCI/pwrctrl: Do not try to power on/off devices that don't need pwrctrl
PCI: Add pci_suspend_retains_context() to check if device state is preserved during suspend
PCI: Indicate context lost if L1SS exit is broken during resume from system suspend
PCI: qcom: Indicate broken L1SS exit during resume from system suspend
nvme-pci: Use pci_suspend_retains_context() during suspend
PCI: mediatek: Fix IRQ domain leak when port fails to enable
PCI: mediatek: Use actual physical address instead of virt_to_phys()
PCI: endpoint: pci-epf-vntb: Add check to detect 'db_count' value of 0
PCI: endpoint: pci-epf-ntb: Add check to detect 'db_count' value of 0
Marco Nenciarini (2):
PCI: Skip Resizable BAR restore on read error
PCI/IOV: Skip VF Resizable BAR restore on read error
Mark Tomlinson (1):
PCI: iproc: Restore .map_irq() for the platform bus driver
Matt Evans (1):
PCI/P2PDMA: Avoid returning a provider for non_mappable_bars
Qiang Yu (2):
PCI: qcom: Set max OPP before DBI access during resume
PCI: qcom: Handle mixed PERST#/PHY DT configuration
Ratheesh Kannoth (1):
PCI: host-common: Request bus reassignment when not probe-only
Richard Zhu (3):
PCI: imx6: Fix IMX6SX_GPR12_PCIE_TEST_POWERDOWN handling
PCI: imx6: Configure REF_USE_PAD before PHY reset for i.MX95
PCI: imx6: Assert ref_clk_en after reference clock stabilizes on i.MX95
Rong Zhang (1):
PCI: loongson: Do not ignore downstream devices on external bridges
Rosen Penev (1):
PCI: mvebu: Use fixed-width interrupt masks to avoid truncation in 64-bit builds
Sai Krishna Musham (1):
PCI: amd-mdb: Assert PERST# on shutdown
Shawn Guo (1):
PCI: qcom: Disable ASPM L0s for SA8775P
Sherry Sun (5):
dt-bindings: PCI: fsl,imx6q-pcie: Add reset GPIO in Root Port node
PCI: host-generic: Add common helpers for parsing Root Port properties
PCI: imx6: Assert PERST# before enabling regulators
PCI: imx6: Parse 'reset-gpios' in Root Port nodes
PCI: imx6: Integrate new pwrctrl API
Shuvam Pandey (3):
PCI: meson: Propagate devm_add_action_or_reset() failure
PCI: meson: Add missing remove callback
PCI: dwc: Avoid dwc_pcie_rasdes_debugfs_deinit() NULL dereference when no RAS DES capability
Xincheng Zhang (1):
PCI: ultrarisc: Add UltraRISC DP1000 PCIe Root Complex driver
Yadu M G (1):
PCI: qcom: Initialize DWC MSI lock for firmware-managed ECAM hosts
Ziyao Li (1):
PCI: loongson: Override PCIe bridge supported speeds for Loongson-3C6000 series
josh ziegler (1):
Documentation: PCI: Fix typos
Documentation/PCI/pci.rst | 2 +-
Documentation/PCI/pciebus-howto.rst | 2 +-
.../devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 32 ++
.../devicetree/bindings/pci/intel-gw-pcie.yaml | 9 +-
.../devicetree/bindings/pci/mediatek-pcie.yaml | 26 +
.../devicetree/bindings/pci/qcom,pcie-sm8550.yaml | 50 ++
.../bindings/pci/renesas,r9a08g045-pcie.yaml | 23 +-
.../bindings/pci/sophgo,sg2042-pcie-host.yaml | 3 +
.../bindings/pci/ultrarisc,dp1000-pcie.yaml | 93 ++++
MAINTAINERS | 8 +
arch/alpha/include/asm/pci.h | 13 +-
arch/alpha/kernel/pci-sysfs.c | 388 +++++++------
arch/powerpc/include/asm/machdep.h | 2 +-
arch/powerpc/include/asm/pci.h | 2 -
arch/powerpc/kernel/pci-common.c | 2 +-
arch/powerpc/platforms/powernv/pci-sriov.c | 4 +-
arch/powerpc/platforms/powernv/pci.h | 5 +-
arch/powerpc/platforms/pseries/setup.c | 5 +-
.../intel/qat/qat_common/adf_accel_devices.h | 5 -
drivers/dma/idxd/registers.h | 3 -
drivers/misc/pci_endpoint_test.c | 6 +-
drivers/ntb/hw/epf/ntb_hw_epf.c | 141 ++++-
drivers/nvme/host/pci.c | 3 +-
drivers/pci/Kconfig | 57 --
drivers/pci/bus.c | 1 -
drivers/pci/controller/cadence/pci-j721e.c | 1 +
.../controller/cadence/pcie-cadence-host-common.c | 4 +
.../pci/controller/cadence/pcie-cadence-host-hpa.c | 8 +
drivers/pci/controller/cadence/pcie-cadence-host.c | 6 +
.../pci/controller/cadence/pcie-cadence-hpa-regs.h | 12 +-
drivers/pci/controller/cadence/pcie-cadence.h | 2 +
drivers/pci/controller/dwc/Kconfig | 14 +
drivers/pci/controller/dwc/Makefile | 1 +
drivers/pci/controller/dwc/pci-dra7xx.c | 11 +-
drivers/pci/controller/dwc/pci-imx6.c | 223 ++++++--
drivers/pci/controller/dwc/pci-meson.c | 13 +-
drivers/pci/controller/dwc/pcie-al.c | 12 +-
drivers/pci/controller/dwc/pcie-amd-mdb.c | 10 +-
drivers/pci/controller/dwc/pcie-artpec6.c | 9 +-
.../pci/controller/dwc/pcie-designware-debugfs.c | 45 +-
drivers/pci/controller/dwc/pcie-designware-ep.c | 128 ++++-
drivers/pci/controller/dwc/pcie-designware-host.c | 45 +-
drivers/pci/controller/dwc/pcie-designware-plat.c | 8 +-
drivers/pci/controller/dwc/pcie-designware.c | 62 ++-
drivers/pci/controller/dwc/pcie-designware.h | 34 +-
drivers/pci/controller/dwc/pcie-eswin.c | 3 +-
drivers/pci/controller/dwc/pcie-fu740.c | 1 -
drivers/pci/controller/dwc/pcie-intel-gw.c | 74 ++-
drivers/pci/controller/dwc/pcie-keembay.c | 9 +-
drivers/pci/controller/dwc/pcie-nxp-s32g.c | 3 +-
drivers/pci/controller/dwc/pcie-qcom-common.c | 40 +-
drivers/pci/controller/dwc/pcie-qcom-ep.c | 6 +-
drivers/pci/controller/dwc/pcie-qcom.c | 331 ++++++++---
drivers/pci/controller/dwc/pcie-tegra194-acpi.c | 4 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 21 +-
drivers/pci/controller/dwc/pcie-ultrarisc.c | 175 ++++++
drivers/pci/controller/dwc/pcie-visconti.c | 1 -
drivers/pci/controller/pci-aardvark.c | 5 +-
drivers/pci/controller/pci-host-common.c | 236 ++++++++
drivers/pci/controller/pci-host-common.h | 48 ++
drivers/pci/controller/pci-loongson.c | 67 ++-
drivers/pci/controller/pci-mvebu.c | 9 +-
drivers/pci/controller/pcie-altera.c | 38 +-
drivers/pci/controller/pcie-aspeed.c | 8 +-
drivers/pci/controller/pcie-brcmstb.c | 2 +
drivers/pci/controller/pcie-iproc-bcma.c | 2 +-
drivers/pci/controller/pcie-iproc-platform.c | 2 +-
drivers/pci/controller/pcie-iproc.c | 3 +-
drivers/pci/controller/pcie-iproc.h | 2 -
drivers/pci/controller/pcie-mediatek-gen3.c | 45 +-
drivers/pci/controller/pcie-mediatek.c | 92 ++--
drivers/pci/controller/pcie-rcar-host.c | 1 -
drivers/pci/controller/pcie-rockchip-host.c | 2 +
drivers/pci/controller/pcie-rzg3s-host.c | 3 +-
drivers/pci/controller/plda/pcie-plda-host.c | 2 +
drivers/pci/endpoint/functions/pci-epf-ntb.c | 21 +-
drivers/pci/endpoint/functions/pci-epf-test.c | 86 ++-
drivers/pci/endpoint/functions/pci-epf-vntb.c | 274 +++++++++-
drivers/pci/endpoint/pci-ep-msi.c | 175 +++++-
drivers/pci/endpoint/pci-epc-core.c | 80 +++
drivers/pci/ide.c | 6 +-
drivers/pci/iov.c | 16 +-
drivers/pci/msi/msi.c | 11 +-
drivers/pci/p2pdma.c | 16 +-
drivers/pci/pci-driver.c | 10 +-
drivers/pci/pci-sysfs.c | 607 ++++++++++++---------
drivers/pci/pci.c | 115 ++--
drivers/pci/pci.h | 55 +-
drivers/pci/pcie/aspm.c | 40 ++
drivers/pci/pcie/ptm.c | 3 +-
drivers/pci/probe.c | 7 +-
drivers/pci/proc.c | 79 ++-
drivers/pci/pwrctrl/core.c | 116 ++--
drivers/pci/quirks.c | 60 +-
drivers/pci/rebar.c | 12 +-
drivers/pci/remove.c | 3 -
drivers/pci/rom.c | 149 ++++-
drivers/pci/setup-bus.c | 50 +-
drivers/pci/setup-cardbus.c | 5 +-
drivers/pci/setup-res.c | 14 +
drivers/pci/switch/switchtec.c | 16 +
drivers/pci/tph.c | 10 +-
include/linux/ioport.h | 2 +-
include/linux/pci-epc.h | 54 ++
include/linux/pci-epf.h | 31 +-
include/linux/pci.h | 59 +-
include/linux/pci_ids.h | 8 +
include/linux/switchtec.h | 1 +
kernel/resource.c | 2 +-
109 files changed, 3646 insertions(+), 1315 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/ultrarisc,dp1000-pcie.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-ultrarisc.c