summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-08-22Merge tag 'rust-i2c-for-7.3' into i2c/i2cAndi Shyti
i2c: rust: mark I2cAdapter methods as inline A single cleanup for the Rust I2C abstractions, targeting 7.3. `I2cAdapter::get`, `inc_ref`, and `dec_ref` are trivial wrappers around `i2c_get_adapter`/`i2c_put_adapter` and were showing up as their own symbols in the build. Mark them `#[inline]` so they get folded into their callers instead. Signed-off-by: Igor Korotin <igor.korotin@linux.dev> * tag 'rust-i2c-for-7.3': i2c: rust: mark I2cAdapter methods as inline
2026-08-22i2c: rust: mark I2cAdapter methods as inlineNicolás Antinori
When building the kernel using llvm-19.1.7-rust-1.85.0-x86_64, the following symbols are generated: $ nm vmlinux | grep ' _R'.*I2cAdapter | rustfilt ffffffff817ff380 T <kernel::i2c::I2cAdapter>::get ffffffff817ff400 T <kernel::i2c::I2cAdapter as kernel::sync::aref::AlwaysRefCounted>::dec_ref ffffffff817ff3e0 T <kernel::i2c::I2cAdapter as kernel::sync::aref::AlwaysRefCounted>::inc_ref However, these Rust symbols are trivial wrappers around the `i2c_get_adapter` and `i2c_put_adapter` functions. It doesn't make sense to go through a trivial wrapper for these functions. Link: https://github.com/Rust-for-Linux/linux/issues/1145 Suggested-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Nicolás Antinori <nico.antinori.7@gmail.com> Reviewed-by: Onur Özkan <work@onurozkan.dev> Reviewed-by: Igor Korotin <igor.korotin@linux.dev> Signed-off-by: Igor Korotin <igor.korotin@linux.dev>
2026-08-21sched_ext: Sync common and compat headers from the scx repoTejun Heo
Sync common.bpf.h, compat.bpf.h and compat.h with the scx repo, which accumulated the following: - __COMPAT_read_enum() can now recover 64-bit scx enum values from kernel BTF generated without BTF_KIND_ENUM64 support (pahole < 1.24 or --skip_encoding_btf_enum64, e.g. COS/GKE kernels), substituting values from the build-time vmlinux.h cross-checked against the low 32 bits the kernel does provide. - is_migration_disabled() no longer assumes the BPF prolog always disables migration. Since 8e4f0b1ebcf2 ("bpf: use rcu_read_lock_dont_migrate() for trampoline.c") the prolog only does so under CONFIG_PREEMPT_RCU, so the old current-task test under-reported on v6.18+ !PREEMPT_RCU kernels. A runtime probe on bpf_scx_reg() handles older kernels with backported trampoline behavior. - __COMPAT_scx_bpf_dsq_peek() is gated behind kernel v7.1 where 2f2ea7709266 ("sched_ext: Use dsq->first_task instead of list_empty() in dispatch_enqueue() FIFO-tail") fixed the kfunc spuriously returning NULL on non-empty FIFO DSQs, and the new scx_bpf_reenqueue_local_from_anywhere() provides a callable-from-anywhere reenqueue which prefers the generic scx_bpf_dsq_reenq(). Both were first posted by Gavin Guo and Changwoo Min and are picked up here with the review feedback folded in. - __COMPAT_scx_bpf_cpu_curr() and the scx_bpf_cpu_rq() declaration are restored. Schedulers built from these headers still run on pre-v6.18 kernels where scx_bpf_cpu_curr() does not resolve and the scx_bpf_cpu_rq() fallback still exists. - scx_clock_task() and scx_clock_pelt() document their stale-read behavior for remote idle CPUs under NO_HZ_IDLE. Link: https://lore.kernel.org/all/20260817143126.562923-1-changwoo@igalia.com Signed-off-by: Tejun Heo <tj@kernel.org>
2026-08-21sched_ext: Sync tools autogen enum headers from the scx repoTejun Heo
Regenerate enum_defs.autogen.h against the current tree, picking up the dispatch verdict enums and dropping the marker for the removed SCX_RQ_IN_BALANCE. Add enums_abi.autogen.h, a table of 64-bit scx enumerator values generated from vmlinux.h, used as the substitution source when the running kernel's BTF truncates 64-bit enum values to 32 bits. Signed-off-by: Tejun Heo <tj@kernel.org>
2026-08-21f2fs: fix to propagate error from f2fs_sync_fs()Chao Yu
So that caller can detect any failure from f2fs_sync_fs(). Signed-off-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2026-08-21f2fs: return symlink writeback errorsWenjie Qi
F2FS writes long symlink data with page_symlink() and then flushes the symlink mapping to reduce the chance of exposing a broken symlink. That flush result is currently ignored. If the writeback fails, symlink() still returns success even though the symlink is not durable and the same operation can already surface -EIO through syncfs(). Return the writeback error to userspace and skip the dirsync flush once the symlink data flush has failed. Fixes: d0cae97cb600 ("f2fs: flush symlink path to avoid broken symlink after POR") Cc: stable@kernel.org Signed-off-by: Wenjie Qi <qiwenjie@xiaomi.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2026-08-21f2fs: fix error handling on device alias check in rename and unlinkDaeho Jeong
In f2fs_rename() and f2fs_unlink(), directly returning -EPERM when encountering a device aliasing file bypasses the cleanup path. Fix this by setting err to -EPERM and jumping to the proper cleanup labels (out_dir and out) instead of returning immediately. Reported-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Daeho Jeong <daehojeong@google.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2026-08-21f2fs: fix to reset all pinned status during fggcChao Yu
Otherwise, the pinned status may affect latter flow of fggc. Cc: stable@kernel.org Fixes: 9703d69d9d15 ("f2fs: support file pinning for zoned devices") Cc: Daeho Jeong <daehojeong@google.com> Signed-off-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2026-08-21f2fs: use f2fs_{down, up}_(read, write}_trace() for nat_tree_lockChao Yu
Under heavy workloads or during background GC/fallocate operations, nat_tree_lock can experience high lock contention between background readers (e.g. f2fs_get_node_info() in gc_data_segment) and writers (e.g. flush_nat_entries, set_node_addr, shrinker). [375067.327986][T13777] schedule+0x4c/0x114 [375067.327997][T13777] f2fs_get_node_info+0x438/0x5c4 [375067.328002][T13777] f2fs_get_inode_page+0x1e0/0x3f0 [375067.328013][T13777] f2fs_iget+0x88/0x1180 [375067.328024][T13777] f2fs_lookup+0x168/0x3a8 [375067.328035][T13777] path_openat+0xa28/0x1b04 [375067.328046][T13777] do_filp_open+0xac/0x130 [375067.328056][T13777] do_sys_openat2+0x140/0x21c [375067.328066][T13777] __arm64_sys_openat+0x70/0x9c [375067.330299][T13777] schedule+0x4c/0x114 [375067.330310][T13777] schedule_preempt_disabled+0x24/0x40 [375067.330321][T13777] rwsem_down_write_slowpath+0x3b4/0x9d0 [375067.330332][T13777] down_write+0x98/0x170 [375067.330343][T13777] set_node_addr+0x74/0x4b4 [375067.330354][T13777] f2fs_new_node_page+0xb0/0x280 [375067.330444][T13777] f2fs_new_inode_page+0x3c/0x64 [375067.330455][T13777] f2fs_init_inode_metadata+0x4c/0x47c [375067.330461][T13777] f2fs_add_regular_entry+0x258/0x5b8 [375067.330471][T13777] f2fs_add_dentry+0x100/0x158 [375067.330476][T13777] f2fs_do_add_link+0x84/0x140 [375067.330487][T13777] f2fs_create+0xec/0x250 [375067.331759][T13777] schedule+0x4c/0x114 [375067.331770][T13777] f2fs_down_read+0x9c/0xc4 [375067.331781][T13777] f2fs_need_inode_block_update+0x20/0x10c [375067.331792][T13777] f2fs_do_sync_file+0x478/0x830 [375067.331802][T13777] f2fs_sync_file+0x2c/0x40 This patch converts nat_tree_lock to use the f2fs_{down,up}_{read,write}_trace infrastructure. Signed-off-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2026-08-21dt-bindings: input: Add Qualcomm SPMI PMIC hapticsFenglin Wu
Add binding document for the haptics module inside Qualcomm PMIC PMIH0108. Assisted-by: Claude:claude-4-8-opus Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Fenglin Wu <fenglin.wu@oss.qualcomm.com> Link: https://patch.msgid.link/20260806-qcom-spmi-haptics-v6-1-19fcecd5204f@oss.qualcomm.com [robh: Drop example] Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-08-21ASoC: fix unmet dependencies on PPC_BESTCOMM and SND_SOC_AC97_BUSJulian Braha
SND_MPC52xx_SOC_PCM030 and SND_MPC52xx_SOC_EFIKA both select SND_SOC_MPC5200_AC97 without ensuring its dependency on PPC_BESTCOMM is met. This causes unmet dependencies such as: WARNING: unmet direct dependencies detected for SND_SOC_MPC5200_AC97 Depends on [n]: SOUND [=m] && SND [=m] && SND_SOC [=m] && SND_POWERPC_SOC [=m] && PPC_BESTCOMM [=n] Selected by [m]: - SND_MPC52xx_SOC_PCM030 [=m] && SOUND [=m] && SND [=m] && SND_SOC [=m] && SND_POWERPC_SOC [=m] && PPC_MPC5200_SIMPLE [=y] In v1, Rosen pointed out that the import of "mpc5200_dma.h" is actually unnecessary, and Arnd suggested that the 'select' of SND_SOC_MPC5200_AC97 be changed to 'depends on'. This resolves all 3 unmet dependencies. These unmet dependency bugs were detected by kconfirm, a static analysis tool for Kconfig. Fixes: a9262c4fd404 ("ASoC: Support for AC97 on Phytec pmc030 base board.") Fixes: 6ffee43ecf8b ("ASoC: Fabric bindings for STAC9766 on the Efika") Suggested-by: Arnd Bergmann <arnd@arndb.de> Suggested-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Julian Braha <julianbraha@gmail.com> Link: https://patch.msgid.link/20260821175410.179631-1-julianbraha@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-21ASoC: tac5xx2-sdw: update default regmap registersNiranjan H Y
* At boot time, when the registers are accessed by asoc layer while trying to enable a DAPM path, while the device is still being attached, -EBUSY error will be thown by regmap_read and regmap_udpate_bits. Because the regmap will be in cache only mode. Add default values for these registers so that, the cached values are returned instead of error. * Also remove writing default values once again for first attach. Signed-off-by: Niranjan H Y <niranjan.hy@ti.com> Link: https://patch.msgid.link/20260820115114.1203-3-niranjan.hy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-21ASoC: tac5xx2-sdw: Rename gain and volume macrosNiranjan H Y
Rename gain and volume macros to match the hardware intent. Currently, both TAC_SDCA_CHANNEL_GAIN and TAC_SDCA_CHANNEL_VOLUME are defined as 0x02. Keep only TAC_SDCA_CHANNEL_VOLUME and reposition TAC_SDCA_CHANNEL_GAIN to 0x0B. Remove the now-redundant TAC_SDCA_MASTER_GAIN alias (also 0x0B), replacing its single use with TAC_SDCA_CHANNEL_GAIN. Signed-off-by: Niranjan H Y <niranjan.hy@ti.com> Link: https://patch.msgid.link/20260820115114.1203-2-niranjan.hy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-21ASoC: sdw_utils: Set component_name for tac5xx2 codec familyNiranjan H Y
* With component_name set in the codec_info_list DAI entries, "amixer -D hw:<card> info" includes the 'spk' identifier for each tac5xx2 speaker component. This allows userspace to identify the speaker codec at runtime and enables UCM card matching for the tac5xx2 family. * Set component_name for the speaker, mic, and UAJ DAI entries for all tac5xx2 family variants. Signed-off-by: Niranjan H Y <niranjan.hy@ti.com> Link: https://patch.msgid.link/20260820115114.1203-1-niranjan.hy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-21Merge branch 'pci/misc'Bjorn Helgaas
- Fix typos in documentation (D'Orus Tsitera) - Use %pe format specifier to print error pointers so we get symbolic errname when available (Krzysztof Wilczyński) * pci/misc: PCI: Use %pe format specifier to print error pointers Documentation: PCI: Fix sysfs-bus-pci typo
2026-08-21Merge branch 'pci/controller/misc'Bjorn Helgaas
- Use common wait time definitions for PCIe link monitoring instead of defining driver-private duplicates (Thierry Reding) - Add LECARC PMU IDs to the DWC RAS/DES VSEC list so it can take advantage of the existing debugfs support for silicon debug, error injection, and event counters (Brett Zhou) * pci/controller/misc: PCI: dwc: Add PCI ID for LECARC PCIe PMU PCI: Use standard wait times for PCIe link monitoring
2026-08-21Merge branch 'pci/controller/xgene'Bjorn Helgaas
- Drop unnecessary OF node reference (Yuho Choi) * pci/controller/xgene: PCI: xgene: Drop unnecessary OF node reference
2026-08-21Merge branch 'pci/controller/vmd'Bjorn Helgaas
- Support device ID 0x28C1 and assume that BIOS has already enumerated the hierarchy below VMD and stored bus range info for OS to use (Nirmal Patel) - Add support for VMCONFIG BUS_RESTRICT_CFG=3, which makes it possible to enumerate downstream devices on Intel Arrow Lake-HX systems and probably others (Ali Alaei) - Observe _OSC negotiation for VMD hierarchy only when running on bare metal, not when running in a VM (Nirmal Patel) - Add Nova Lake (NVL) and Dunlow (DNL) Device IDs (Szymon Durawa) * pci/controller/vmd: PCI: vmd: Add Nova Lake (NVL) and Dunlow (DNL) Device IDs PCI: vmd: Only copy root bridge _OSC control flags in bare metal OS PCI: vmd: Handle BUS_RESTRICT_CFG value 3 for Arrow Lake-HX PCI: vmd: Add feature to scan BIOS-enumerated devices
2026-08-21Merge branch 'pci/controller/tegra264'Bjorn Helgaas
- Distinguish Tegra264 C0 PCIe controller for internal GPU from C1-C5 controllers so the unit address matches the first 'reg' entry (Thierry Reding) - Add Tegra264 Root Port stanzas to prepare for generic WAKE# handling (Thierry Reding) - Add NVIDIA Tegra264 driver (Thierry Reding) * pci/controller/tegra264: PCI: tegra264: Add Tegra264 support dt-bindings: PCI: tegra264: Switch to PCIe Root Port bindings dt-bindings: PCI: tegra264: Strictly distinguish C0 from C1-C5
2026-08-21Merge branch 'pci/controller/rzg3s-host'Bjorn Helgaas
- Add DT binding and driver support for RZ/V2H(P) SoC, which contains two PCIe controllers, configured either as a single x4 link or two independent x2 link controllers (Lad Prabhakar) * pci/controller/rzg3s-host: PCI: rzg3s-host: Add support for RZ/V2H(P) SoC PCI: rzg3s-host: Prepare System Controller handling for multiple controllers PCI: rzg3s-host: Use shared reset controls for power domain resets dt-bindings: PCI: renesas,r9a08g045-pcie: Add RZ/V2H(P) support
2026-08-21Merge branch 'pci/controller/mediatek'Bjorn Helgaas
- Add support for PCIe controller in EcoNet EN7528 and EN751221 SoCs (Caleb James DeLisle) * pci/controller/mediatek: PCI: mediatek: Add support for EcoNet EN7528 SoC
2026-08-21Merge branch 'pci/controller/plda-starfive'Bjorn Helgaas
- Fix resource leaks on error paths in host_init() (Ali Tariq) - Fix runtime PM handling and teardown ordering to avoid register access while power or clocks are disabled (Ali Tariq) - Check for runtime PM resume failure to avoid register access while power or clocks are disabled (Ali Tariq) * pci/controller/plda-starfive: PCI: starfive: Fix unchecked pm_runtime_get_sync() in probe PCI: starfive: Fix Runtime PM handling and teardown ordering PCI: starfive: Fix resource leaks on error paths in host_init()
2026-08-21Merge branch 'pci/controller/plda-host'Bjorn Helgaas
- Fix event IRQ user-after-free issues (Ali Tariq) - Fix IRQ domain leaks in error paths (Ali Tariq) * pci/controller/plda-host: PCI: plda: Fix IRQ domain leaks in the error paths of plda_init_interrupts() PCI: plda: Fix use-after-free of event IRQs during teardown
2026-08-21Merge branch 'pci/controller/dwc-ultrarisc'Bjorn Helgaas
- Add 'core', 'dbi', and 'aux' clocks to DT binding and manage them in the driver (Jia Wang) - Use module_platform_driver() since this may be built as a module, though not removable because IRQs can't be safely disposed (Jia Wang) * pci/controller/dwc-ultrarisc: PCI: ultrarisc: Use module_platform_driver() PCI: ultrarisc: Get and enable DP1000 PCIe controller clocks dt-bindings: PCI: ultrarisc: Add required DP1000 PCIe clocks
2026-08-21Merge branch 'pci/controller/dwc-spacemit-k1'Bjorn Helgaas
- Add missing MODULE_DEVICE_TABLE() to generate module alias info for OF-based module autoloading (Pengpeng Hou) * pci/controller/dwc-spacemit-k1: PCI: spacemit: Add missing MODULE_DEVICE_TABLE()
2026-08-21Merge branch 'pci/controller/dwc-rcar-gen4'Bjorn Helgaas
- When MSI is enabled but iMSI-RX is not used, configure AXIINTC to allow GIT ITS to handle MSI (Marek Vasut) - Refactor GIC600 implementation to make it easier to add platforms that only support 32-bit addressing (Marek Vasut) - Add Renesas R-Car Gen4 S4/V4H/V4M to the list of GIC600 integrations that only support 32-bit addressing (Marek Vasut) * pci/controller/dwc-rcar-gen4: irqchip/gic-v3: Add Renesas R-Car Gen4 erratum workaround irqchip/gic-v3: Refactor GIC600 limited to 32bit PA erratum handling PCI: rcar-gen4: Configure AXIINTC if iMSI-RX is not used PCI: dwc: Move iMSI-RX check before calling 'pp->ops->init()'
2026-08-21Merge branch 'pci/controller/dwc-qcom'Bjorn Helgaas
- Add DT binding and driver support for Hawi SoC (Matthew Leung) - Skip PERST# GPIOs provided by downstream PCIe devices, which should be handled by drivers of those devices (Manivannan Sadhasivam) - Stop advertising Attention Button Present (no Qcom SoCs support Attention Buttons) so pciehp can use Presence Detect Changed events (Qiang Yu) * pci/controller/dwc-qcom: PCI: qcom: Clear Attention Button Present in Slot Capabilities PCI: qcom: Rename qcom_pcie_set_slot_nccs() to qcom_pcie_set_slot_cap() PCI: qcom: Skip PERST# GPIOs provided by downstream PCIe devices PCI: qcom: Add support for Hawi dt-bindings: PCI: qcom: Document Hawi and Maili PCIe Controllers
2026-08-21Merge branch 'pci/controller/dwc-meson'Bjorn Helgaas
- Correct the PERST# GPIO state so it remains asserted until power and REFCLK become stable to fix enumeration failure (Ronald Claveau) * pci/controller/dwc-meson: PCI: meson: Fix GPIO state while requesting PERST#
2026-08-21Merge branch 'pci/controller/dwc-keystone'Bjorn Helgaas
- Fix OF node reference leak in init (Yuho Choi) * pci/controller/dwc-keystone: PCI: keystone: Fix OF node reference leak in init
2026-08-21Merge branch 'pci/controller/dwc-imx6'Bjorn Helgaas
- Remove PERST# checking from pci_host_common_parse_port() so callers can decide whether to fall back to legacy DT binding with PERST# in the host bridge (Sherry Sun) - Fix build issues when PCI_PWRCTRL_GENERIC or PCI_HOST_COMMON is a module (Arnd Bergmann) - Create pwrctrl devices only once by doing it from imx_pcie_probe() instead of imx_pcie_host_init(), which is used during both probe and resume (Sherry Sun) - Use 'dw_pcie_rp->skip_pwrctrl_off' to avoid powering off devices during suspend to preserve wakeup capability (Sherry Sun) - Add runtime PM support for i.MX95 to allow dynamic power management when the link is idle (Richard Zhu) * pci/controller/dwc-imx6: PCI: imx6: Add runtime PM support for i.MX95 PCI: imx6: Add 'skip_pwrctrl_off' flag support PCI: imx6: Move pci_pwrctrl_create_devices() to imx_pcie_probe() PCI: imx6: Fix building against PCI_PWRCTRL_GENERIC PCI: imx6: Fix building against PCI_HOST_COMMON PCI: host-generic: Move legacy DT binding fallback decision to caller of pci_host_common_parse_ports()
2026-08-21Merge branch 'pci/controller/dwc'Bjorn Helgaas
- Factor pcie_valid_speed() and pci_bus_speed2lnkctl2() out of bwctrl so they can be shared by the DWC core (Hans Zhang) - Flush MSI writes from endpoint before unmapping the iATU, as we already do for MSI-X writes (Niklas Cassel) - Unmap MSI iATU window before mapping MSI-X window, to avoid a subsequent MSI write using a disabled aperture and losing the interrupt (Niklas Cassel) - Change endpoint .pre_init() and .init() callbacks to return errors and handle them (Marek Vasut) * pci/controller/dwc: PCI: dwc: Handle return value from endpoint .pre_init callback PCI: dwc: Handle return value from endpoint .init callback PCI: dwc: ep: Fix unmap potentially unmapping the wrong iATU PCI: dwc: ep: Flush cached MSI write before unmapping the iATU PCI: dwc: Use common speed conversion function PCI: Move pci_bus_speed2lnkctl2() to public header PCI: Add public pcie_valid_speed() for shared validation
2026-08-21Merge branch 'pci/controller/cadence'Bjorn Helgaas
- Add missing MODULE_DEVICE_TABLE to generate module aliases for OF-based module autoloading (Pengpeng Hou) - Add debugfs 'ltssm_status' file for LGA- and HPA-based Cadence controllers (Hans Zhang) - Support up to x4 (not x2) lanes for J200 (Takuma Fujiwara) - Fix host/endpoint dependencies for cadence-plat driver to fix link error when cadence-plat is built-in but the host or endpoint driver is modular (Aksh Garg) * pci/controller/cadence: PCI: cadence: Fix host/endpoint dependencies for cadence-plat driver PCI: j721e: Fix incorrect max_lanes for J7200 PCI: cadence: Add LGA IP debugfs for LTSSM status PCI: cadence: Add HPA IP debugfs for LTSSM status PCI: cadence: Add HPA architecture flag PCI: cadence: Add missing MODULE_DEVICE_TABLE()
2026-08-21Merge branch 'pci/controller/aspeed'Bjorn Helgaas
- Switch to irq_domain_create_linear() so we can obsolete irq_domain_add_linear() (Jiri Slaby) * pci/controller/aspeed: PCI: aspeed: Switch to irq_domain_create_linear()
2026-08-21Merge branch 'pci/controller/host-generic'Bjorn Helgaas
- Fix NULL pointer dereference that caused enumeration failures on 32-bit CAM systems (Steffen Persvold) * pci/controller/host-generic: PCI: host-generic: Fix NULL pointer dereference on 32-bit CAM systems
2026-08-21Merge branch 'pci/controller/root-port-reset'Bjorn Helgaas
* pci/controller/root-port-reset: misc: pci_endpoint_test: Add AER error handlers PCI: dw-rockchip: Implement .reset_root_port() and use for link down PCI: qcom: Implement .reset_root_port() and use for link down PCI: host-common: Add link down handling for Root Ports PCI/ERR: Add support for resetting the Root Ports in a platform-specific way PCI: dwc: ep: Clear MSI iATU mapping in dw_pcie_ep_cleanup()
2026-08-21Merge branch 'pci/endpoint'Bjorn Helgaas
- Check doorbell SUCCESS bit in pci_endpoint_test to avoid treating some failures as successes (Niklas Cassel) - Fail doorbell test when the trigger IRQ is missed (Niklas Cassel) * pci/endpoint: misc: pci_endpoint_test: Fail doorbell test when the trigger IRQ is missed misc: pci_endpoint_test: Check SUCCESS bit for doorbell status
2026-08-21Merge branch 'pci/dt-binding'Bjorn Helgaas
- Add qcom IPQ9650 compatible with global interrupt (Kathiravan Thirumoorthy) - Add qcom IPQ5210 compatible with IPQ9574 fallback (Varadarajan Narayanan) - Add imx6 intr/aer/pme interrupt lines for i.MX95 (Richard Zhu) - Add mediatek-gen3 'memory-region' for restricted DMA buffer (Chen-Yu Tsai) - Add rcar-gen4-pci-host optional 'msi-parent' for GIT ITS (Marek Vasut) - Correct some white-space issues (Krzysztof Kozlowski) * pci/dt-binding: dt-bindings: PCI: Correct white-space style dt-bindings: PCI: rcar-gen4-pci-host: Document optional msi-parent dt-bindings: PCI: mediatek-gen3: Allow memory-region for restricted DMA buffer dt-bindings: PCI: mediatek-gen3: Add support for MT8189 SoC dt-bindings: PCI: imx6q-pcie: Add i.MX95 optional intr/aer/pme interrupts dt-bindings: PCI: qcom,pcie-ipq9574: Add IPQ5210 compatible dt-bindings: PCI: qcom,pcie-ipq9574: Add IPQ9650 compatible
2026-08-21Merge branch 'pci/wake'Bjorn Helgaas
- Add support for PCIe WAKE# interrupt when described via DT (Krishna Chaitanya Chundru) * pci/wake: PCI: Add support for PCIe WAKE# interrupt
2026-08-21Merge branch 'pci/virtualization'Bjorn Helgaas
- Add ACS quirk for Pericom PI7C9X2G608 switches (Tim Harvey) - Fix a long-standing bug in the Intel PCH Root Port MPC ACS quirk that didn't update the intended INTEL_MPC_REG_IRBNCE bit because it used a 16-bit config write when a 32-bit write was intended (Mohamad Raizudeen) * pci/virtualization: PCI: Fix 32-bit config write in Intel PCH Root Port MPC ACS quirk PCI: Add ACS quirk for Pericom PI7C9X2G608 switches [12d8:2608]
2026-08-21Merge branch 'pci/sysfs'Bjorn Helgaas
- In pci_write_legacy_io(), avoid out-of-bounds reads from the user buffer and fix incorrect ioport write data (1-byte writes on little-endian powerpc, 2- and 4-byte writes on big-endian powerpc) (Krzysztof Wilczyński) - In pci_read_legacy_io(), fix incorrect ioport read data for 2- and 4-byte reads on big-endian powerpc (Krzysztof Wilczyński) - Fix I/O port accessor argument order in Alpha pci_legacy_write() (Krzysztof Wilczyński) - Avoid spurious runtime PM wakeup on config space accesses that are outside config space and fail before reaching PCI (Krzysztof Wilczyński) - Return -EINVAL, not -ENODEV, for mmap of I/O BAR that fails because the arch doesn't support it, as we do for procfs (Krzysztof Wilczyński) - Check for LOCKDOWN_PCI_ACCESS for legacy_io and legacy_mem, as we do for other config space accessors (Krzysztof Wilczyński) - Tidy static resource attribute names and macros that build them (Krzysztof Wilczyński) * pci/sysfs: PCI/sysfs: Add legacy I/O and memory attribute macros alpha/PCI: Make the suffix the first __pci_dev_resource_attr() parameter PCI/sysfs: Add pci_ prefix to static PCI resource attribute names PCI/sysfs: Add lockdown checks to legacy I/O and memory handlers PCI/sysfs: Return -EINVAL for unsupported I/O BAR mmap PCI/sysfs: Avoid spurious runtime PM wakeup on config space accesses alpha/PCI: Fix I/O port accessor argument order in pci_legacy_write() PCI/sysfs: Fix read byte order in pci_read_legacy_io() PCI/sysfs: Fix out-of-bounds read in pci_write_legacy_io()
2026-08-21Merge branch 'pci/switchtec'Bjorn Helgaas
- Add Microchip PCI1008 device ID and include it in NTB DMA alias quirk (Logan Gunthorpe) * pci/switchtec: PCI: switchtec: Add Microchip PCI1008 to NTB DMA alias quirk PCI: switchtec: Add Microchip PCI1008 device ID dmaengine: switchtec-dma: Add PCI1008 device ID
2026-08-21Merge branch 'pci/resource'Bjorn Helgaas
- Add hotplug reservation only once (not at each level of the hierarchy) so bridge windows don't grow more than necessary (Ilpo Järvinen) * pci/resource: PCI: Do not add hotplug reservation multiple times
2026-08-21Merge branch 'pci/pwrctrl'Bjorn Helgaas
- Take a reference on the I2C adapter in tc9563 to avoid uninterruptible hang when unloading an I2C module while in-use (Johan Hovold) - Restrict tc9563 Tx Amplitude, DFE and N_FTS to USP, DSP1 and DSP2 in DT binding (Manivannan Sadhasivam) - Fix parsing tc9563 integrated Ethernet MAC Endpoint node (Manivannan Sadhasivam) - Power off only tc9563 external-facing ports (DSP1, DSP2), leaving USP and DSP3 powered up (Manivannan Sadhasivam) - Skip tc9563 Tx amplitude and DFE tuning for DSP3, which don't support them (Manivannan Sadhasivam) - Move integrated MAC Endpoint out of the list of internal ports and configure it separately (Manivannan Sadhasivam) * pci/pwrctrl: PCI/pwrctrl: tc9563: Move Integrated MAC Endpoint out of 'tc9563_pwrctrl_ports' enum PCI/pwrctrl: tc9563: Rename DSP3 to VDSP PCI/pwrctrl: tc9563: Skip Tx amplitude and DFE tuning for DSP3 PCI/pwrctrl: tc9563: Power off only the external ports in tc9563_pwrctrl_disable_port() PCI/pwrctrl: tc9563: Fix parsing the integrated Ethernet MAC Endpoint node dt-bindings: PCI: toshiba,tc9563: Restrict Tx Amplitude, DFE and N_FTS to USP, DSP1 and DSP2 PCI/pwrctrl: tc9563: Take i2c adapter module reference
2026-08-21Merge branch 'pci/procfs'Bjorn Helgaas
- Avoid spurious runtime PM wakeup on config space accesses that are outside config space and fail before reaching PCI (Krzysztof Wilczyński) - Warn on user-space writes to kernel-exclusive config space regions, as we already do for sysfs (Krzysztof Wilczyński) - Check credentials of opener, not reader, for config space reads, as we already to for sysfs (Krzysztof Wilczyński) * pci/procfs: PCI/proc: Use file_ns_capable() when checking config space read access PCI/proc: Warn on writes to kernel-exclusive config space regions PCI/proc: Avoid spurious runtime PM wakeup on config space accesses
2026-08-21Merge branch 'pci/portdrv'Bjorn Helgaas
- Allow probing even without child services so it can do power management (Brian Norris) * pci/portdrv: PCI/portdrv: Allow probing even without child services
2026-08-21Merge branch 'pci/pm'Bjorn Helgaas
- Allow D3 for native hotplug-capable Root Ports on non-x86 platforms (we avoid D3 for these ports on x86 because some old platforms didn't validate it) (Manivannan Sadhasivam) * pci/pm: PCI: Allow D3 for native hotplug-capable Root Ports on non-x86 platforms
2026-08-21Merge branch 'pci/p2pdma'Bjorn Helgaas
- Add Nvidia Vera Rubin to list of platforms that support P2PDMA (Leon Romanovsky) * pci/p2pdma: PCI/P2PDMA: Add Nvidia Vera Rubin to whitelist
2026-08-21Merge branch 'pci/hotplug'Bjorn Helgaas
- Pass empty string, not an uninitialized device_class string, to acpi_bus_generate_netlink_event(), so we can remove device_class completely in the future (Rafael J. Wysocki) * pci/hotplug: PCI: acpiphp_ibm: Do not use uninitialized device_class
2026-08-21Merge branch 'pci/enumeration'Bjorn Helgaas
- Don't store pci_device_id in agp amd-k7 and via, ata, scsi nsp32, ipack tpci200, mlxsw since the dynamic ID feature means the ID is only guaranteed to live during probe (Gary Guo) - Add pci_match_one_id() to match an ID directly so dynamic ID insertion doesn't need to make a temporary device for matching (Gary Guo) - Check for existing ID inside the dynamic ID addition critical section to avoid a time-of-check vs time-of-use race (Gary Guo) - Copy device ID to avoid use-after-free when match races with sysfs dynamic ID removal (Gary Guo) * pci/enumeration: PCI: Fix UAF when probe runs concurrent to dyn ID removal PCI: Fix dyn_id add TOCTOU PCI: Make pci_match_one_device() match on ID instead of device agp/amd-k7: Don't rely on address of pci_device_id agp/via: Don't rely on address of pci_device_id mlxsw: pci: Don't store pci_device_id ipack: tpci200: Don't store pci_device_id scsi: nsp32: Don't store pci_device_id ata: ata_generic: Don't store pci_device_id
2026-08-21Merge branch 'pci/dpc'Bjorn Helgaas
- Allow DPC on all Downstream Ports, not just Root Ports, when OS controls AER (Darshit Shah) * pci/dpc: PCI/DPC: Allow DPC on all Downstream Ports when OS controls AER