Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195375/?format=api
{ "id": 2195375, "url": "http://patchwork.ozlabs.org/api/patches/2195375/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260210215453.GA91552@bhelgaas/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260210215453.GA91552@bhelgaas>", "list_archive_url": null, "date": "2026-02-10T21:54:53", "name": "[GIT,PULL] PCI changes for v7.0", "commit_ref": null, "pull_url": "git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v7.0-changes", "state": "new", "archived": false, "hash": null, "submitter": { "id": 67298, "url": "http://patchwork.ozlabs.org/api/people/67298/?format=api", "name": "Bjorn Helgaas", "email": "helgaas@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260210215453.GA91552@bhelgaas/mbox/", "series": [ { "id": 491742, "url": "http://patchwork.ozlabs.org/api/series/491742/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=491742", "date": "2026-02-10T21:54:53", "name": "[GIT,PULL] PCI changes for v7.0", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491742/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195375/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195375/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-47124-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=qUVQ+i2N;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-47124-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"qUVQ+i2N\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f9b2W3c45z1xtr\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 11 Feb 2026 08:54:59 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 2DBFC30293C1\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 21:54:56 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id A71613321AA;\n\tTue, 10 Feb 2026 21:54:55 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 845CF1C5D5E;\n\tTue, 10 Feb 2026 21:54:55 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id E3F9FC116C6;\n\tTue, 10 Feb 2026 21:54:54 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770760495; cv=none;\n b=ROLha2AiXE374106qs/qdWWd0Nunz05/+uwtKHXZ6zzehBhCWecZOSxOWNp2s71xAAw0NW2yGPOxVCzBEtCr3oCi3k1D5gQ58/9K/pyq4y+vZFHyMMkkrG8HZedbiXn6GVvLL5vq5hqYrvutQmwXwtztVksBFFG2utnFysxZd18=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770760495; c=relaxed/simple;\n\tbh=oJbDJgr/hpA2Lg4c07caLpSLvKfogFf2usnSaMPhZTA=;\n\th=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:\n\t Content-Disposition;\n b=krVbOnbTd4vN1dKypoDKJt1VUYY6VL4SYbVn9g35mLn+F4HNB4uZbPeaIQ7iu1GetV5Am3VYrEGUqPwLhPFSeYN2wPK0dhSzWSyOWdg4vBYtivZ1gaLgA59UucwOXfCk0y62VRWkkhzHVlAetlPNJlAfmS/WmBGkn/wyNpfWp3w=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=qUVQ+i2N; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1770760495;\n\tbh=oJbDJgr/hpA2Lg4c07caLpSLvKfogFf2usnSaMPhZTA=;\n\th=Date:From:To:Cc:Subject:From;\n\tb=qUVQ+i2Nd58qFYkNHOFSo/WqdIzgG29CBIXk8OSdy1j0K0EkGhUtN1we0TYkmNhpB\n\t 2CIG3cMb/pHiipm6NZSlEnbG2wfSwtnPl89tN7b01fjeHYeAViYlvm6giSxRqXdSNU\n\t aHLKjHXylXhPot8QFV/t5GdlcqobtYrzE3D0EgPxq4YZBH1G/qS7TdEjdCO9rzln7f\n\t uK/UuYhvkQRRmWDyVD1TnBRjPGDAsKZ9snhFOU4YoZ4nfAjZDrYQAh2ediGO42KvIn\n\t i+Z7hPfjWJ+tiOwhvb6zSdBQZt6aRqhNNfxxTLAJLWExjnbrb6945Gf3iKXhyGJcZi\n\t ngSDLC7IqsXoA==", "Date": "Tue, 10 Feb 2026 15:54:53 -0600", "From": "Bjorn Helgaas <helgaas@kernel.org>", "To": "Linus Torvalds <torvalds@linux-foundation.org>", "Cc": "linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,\n Rob Herring <robh@kernel.org>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,\n Manivannan Sadhasivam <mani@kernel.org>, Krzysztof =?utf-8?q?Wilczy=C5=84sk?=\n\t=?utf-8?q?i?= <kwilczynski@kernel.org>", "Subject": "[GIT PULL] PCI changes for v7.0", "Message-ID": "<20260210215453.GA91552@bhelgaas>", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=utf-8", "Content-Disposition": "inline", "Content-Transfer-Encoding": "8bit" }, "content": "The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:\n\n Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)\n\nare available in the Git repository at:\n\n git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v7.0-changes\n\nfor you to fetch changes up to dff645f564c38332502140f3ef643f659114c45f:\n\n Merge branch 'pci/misc' (2026-02-06 17:09:53 -0600)\n\nYou should see this conflict:\n\n upstream 0cc13256b605 (\"PCI: qcom: Remove ASPM L0s support for MSM8996 SoC\")\n vs PCI 8d8db7dbf218 (\"PCI: qcom: Rename PERST# assert/deassert helpers for uniformity\")\n\t 6a1394990902 (\"PCI: qcom: Remove DPC Extended Capability\")\n\t 7c29cd0fdc07 (\"PCI: qcom: Remove MSI-X Capability for Root Ports\")\n\nIf you merge the IOMMU PR first, you might see this conflict:\n\n iommu f5b16b802174 (\"PCI: Suspend iommu function prior to resetting a device\")\n vs PCI 183c291caa34 (\"PCI: Use lockdep_assert_held(pci_bus_sem) to verify lock is held\")\n (adjacent #includes added)\n\nMy resolution is here:\n\n https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=v7.0-merge\n\n----------------------------------------------------------------\n\nEnumeration:\n\n - Don't try to enable Extended Tags on VFs since that bit is Reserved and\n causes misleading log messages (Håkon Bugge)\n\n - Initialize Endpoint Read Completion Boundary to match Root Port,\n regardless of ACPI _HPX (Håkon Bugge)\n\n - Apply _HPX PCIe Setting Record only to AER configuration, and only when\n OS owns PCIe hotplug but not AER, to avoid clobbering Extended Tag and\n Relaxed Ordering settings (Håkon Bugge)\n\nResource management:\n\n - Move CardBus code to setup-cardbus.c and only build it when\n CONFIG_CARDBUS is set (Ilpo Järvinen)\n\n - Fix bridge window alignment with optional resources, where additional\n alignment requirement was previously lost (Ilpo Järvinen)\n\n - Stop over-estimating bridge window size since they are now assigned\n without any gaps between them (Ilpo Järvinen)\n\n - Increase resource MAX_IORES_LEVEL to avoid /proc/iomem flattening for\n nested bridges and endpoints (Ilpo Järvinen)\n\n - Add pbus_mem_size_optional() to handle sizes of optional resources\n (SR-IOV VF BARs, expansion ROMs, bridge windows) (Ilpo Järvinen)\n\n - Don't claim disabled bridge windows to avoid spurious claim failures\n (Ilpo Järvinen)\n\nDriver binding:\n\n - Fix device reference leak in pcie_port_remove_service() (Uwe\n Kleine-König)\n\n - Move pcie_port_bus_match() and pcie_port_bus_type to PCIe-specific\n portdrv.c (Uwe Kleine-König)\n\n - Convert portdrv to use pcie_port_bus_type.probe() and .remove()\n callbacks so .probe() and .remove() can eventually be removed from\n struct device_driver (Uwe Kleine-König)\n\nError handling:\n\n - Clear stale errors on reporting agents upon probe so they don't look\n like recent errors (Lukas Wunner)\n\n - Add generic RAS tracepoint for hotplug events (Shuai Xue)\n\n - Add RAS tracepoint for link speed changes (Shuai Xue)\n\nPower management:\n\n - Avoid redundant delay on transition from D3hot to D3cold if the device\n was already in D3hot (Brian Norris)\n\n - Prevent runtime suspend until devices are fully initialized to avoid\n saving incompletely configured device state (Brian Norris)\n\nPower control:\n\n - Add power_on/off callbacks with generic signature to pwrseq, tc9563,\n and slot drivers so they can be used by pwrctrl core (Manivannan\n Sadhasivam)\n\n - Add PCIe M.2 connector support to the slot pwrctrl driver (Manivannan\n Sadhasivam)\n\n - Switch to pwrctrl interfaces to create, destroy, and power on/off\n devices, calling them from host controller drivers instead of the PCI\n core (Manivannan Sadhasivam)\n\n - Drop qcom .assert_perst() callbacks since this is now done by the\n controller driver instead of the pwrctrl driver (Manivannan Sadhasivam)\n\nVirtualization:\n\n - Remove an incorrect unlock in pci_slot_trylock() error handling (Jinhui\n Guo)\n\n - Lock the bridge device for slot reset (Keith Busch)\n\n - Enable ACS after IOMMU configuration on OF platforms so ACS is enabled\n an all devices; previously the first device enumerated (typically a\n Root Port) didn't have ACS enabled (Manivannan Sadhasivam)\n\n - Disable ACS Source Validation for IDT 0x80b5 and 0x8090 switches to\n work around hardware erratum; previously ACS SV was only temporarily\n disabled, which worked for enumeration but not after reset (Manivannan\n Sadhasivam)\n\nPeer-to-peer DMA:\n\n - Release per-CPU pgmap ref when vm_insert_page() fails to avoid hang\n when removing the PCI device (Hou Tao)\n\n - Remove incorrect p2pmem_alloc_mmap() warning about page refcount (Hou\n Tao)\n\nEndpoint framework:\n\n - Add configfs sub-groups synchronously to avoid NULL pointer dereference\n when racing with removal (Liu Song)\n\n - Fix swapped parameters in pci_{primary/secondary}_epc_epf_unlink()\n functions (Manikanta Maddireddy)\n\nASPEED PCIe controller driver:\n\n - Add ASPEED Root Complex DT binding and driver (Jacky Chou)\n\nFreescale i.MX6 PCIe controller driver:\n\n - Add DT binding and driver support for an optional external refclock in\n addition to the refclock from the internal PLL (Richard Zhu)\n\n - Fix CLKREQ# control so host asserts it during enumeration and Endpoints\n can use it afterwards to exit the L1.2 link state (Richard Zhu)\n\nNVIDIA Tegra PCIe controller driver:\n\n - Export irq_domain_free_irqs() to allow PCI/MSI drivers that tear down\n MSI domains to be built as modules (Aaron Kling)\n\n - Allow pci-tegra to be built as a module (Aaron Kling)\n\nNVIDIA Tegra194 PCIe controller driver:\n\n - Relax Kconfig so tegra194 can be built for platforms beyond Tegra194\n (Vidya Sagar)\n\nQualcomm PCIe controller driver:\n\n - Merge SC8180x DT binding into SM8150 (Krzysztof Kozlowski)\n\n - Move SDX55, SDM845, QCS404, IPQ5018, IPQ6018, IPQ8074 Gen3, IPQ8074,\n IPQ4019, IPQ9574, APQ8064, MSM8996, APQ8084 to dedicated schema\n (Krzysztof Kozlowski)\n\n - Add DT binding and driver support for SA8255p Endpoint being configured\n by firmware (Mrinmay Sarkar)\n\n - Parse PERST# from all PCIe bridge nodes for future platforms that will\n have PERST# in Switch Downstream Ports as well as in Root Ports\n (Manivannan Sadhasivam)\n\nRenesas RZ/G3S PCIe controller driver:\n\n - Use pci_generic_config_write() since the writability provided by the\n custom wrapper is unnecessary (Claudiu Beznea)\n\nSOPHGO PCIe controller driver:\n\n - Disable ASPM L0s and L1 on Sophgo 2044 PCIe Root Ports (Inochi Amaoto)\n\nSynopsys DesignWare PCIe controller driver:\n\n - Extend PCI_FIND_NEXT_CAP() and PCI_FIND_NEXT_EXT_CAP() to return a\n pointer to the preceding Capability, to allow removal of Capabilities\n that are advertised but not fully implemented (Qiang Yu)\n\n - Remove MSI and MSI-X Capabilities in platforms that can't support them,\n so the PCI core automatically falls back to INTx (Qiang Yu)\n\n - Add ASPM L1.1 and L1.2 Substates context to debugfs ltssm_status for\n drivers that support this (Shawn Lin)\n\n - Skip PME_Turn_Off broadcast and L2/L3 transition during suspend if link\n is not up to avoid an unnecessary timeout (Manivannan Sadhasivam)\n\n - Revert dw-rockchip, qcom, and DWC core changes that used link-up IRQs\n to trigger enumeration instead of waiting for link to be up because the\n PCI core doesn't allocate bus number space for hierarchies that might\n be attached (Niklas Cassel)\n\n - Make endpoint iATU entry for MSI permanent instead of programming it\n dynamically, which is slow and racy with respect to other concurrent\n traffic, e.g., eDMA (Koichiro Den)\n\n - Use iMSI-RX MSI target address when possible to fix endpoints using\n 32-bit MSI (Shawn Lin)\n\n - Allow DWC host controller driver probe to continue if device is not\n found or found but inactive; only fail when there's an error with the\n link (Manivannan Sadhasivam)\n\n - For controllers like NXP i.MX6QP and i.MX7D, where LTSSM registers are\n not accessible after PME_Turn_Off, simply wait 10ms instead of polling\n for L2/L3 Ready (Richard Zhu)\n\n - Use multiple iATU entries to map large bridge windows and DMA ranges\n when necessary instead of failing (Samuel Holland)\n\n - Add EPC dynamic_inbound_mapping feature bit for Endpoint Controllers\n that can update BAR inbound address translation without requiring EPF\n driver to clear/reset the BAR first, and advertise it for DWC-based\n Endpoints (Koichiro Den)\n\n - Add EPC subrange_mapping feature bit for Endpoint Controllers that can\n map multiple independent inbound regions in a single BAR, implement\n subrange mapping, advertise it for DWC-based Endpoints, and add\n Endpoint selftests for it (Koichiro Den)\n\n - Make resizable BARs work for Endpoint multi-PF configurations;\n previously it only worked for PF 0 (Aksh Garg)\n\n - Fix Endpoint non-PF 0 support for BAR configuration, ATU mappings, and\n Address Match Mode (Aksh Garg)\n\n - Set up iATU when ECAM is enabled; previously IO and MEM outbound\n windows weren't programmed, and ECAM-related iATU entries weren't\n restored after suspend/resume, so config accesses failed (Krishna\n Chaitanya Chundru)\n\nMiscellaneous:\n\n - Use system_percpu_wq and WQ_PERCPU to explicitly request per-CPU work\n so WQ_UNBOUND can eventually be removed (Marco Crivellari)\n\n----------------------------------------------------------------\nAadityarangan Shridhar Iyengar (1):\n PCI/PTM: Fix pcie_ptm_create_debugfs() memory leak\n\nAaron Kling (3):\n irqdomain: Export irq_domain_free_irqs()\n cpuidle: tegra: Export tegra_cpuidle_pcie_irqs_in_use()\n PCI: tegra: Allow building as a module\n\nAksh Garg (3):\n PCI: dwc: ep: Fix resizable BAR support for multi-PF configurations\n PCI: dwc: ep: Add per-PF BAR and inbound ATU mapping support\n PCI: dwc: ep: Add comment explaining controller level PTM access in multi PF setup\n\nAlex Williamson (1):\n PCI: Mark ASM1164 SATA controller to avoid bus reset\n\nAlistair Popple (1):\n PCI/P2PDMA: Reset page reference count when page mapping fails\n\nBaruch Siach (1):\n Documentation: PCI: endpoint: Fix ntb/vntb copy & paste errors\n\nBjorn Helgaas (40):\n PCI/pwrctrl: pwrseq: Rename private struct and pointers for consistency\n PCI/pwrctrl: slot: Rename private struct and pointers for consistency\n PCI/pwrctrl: tc9563: Clean up whitespace\n PCI/pwrctrl: tc9563: Add local variables to reduce repetition\n PCI/pwrctrl: tc9563: Rename private struct and pointers for consistency\n Merge branch 'pci/aer'\n Merge branch 'pci/bwctrl'\n Merge branch 'pci/endpoint'\n Merge branch 'pci/enumeration'\n Merge branch 'pci/iommu'\n Merge branch 'pci/iov'\n Merge branch 'pci/p2pdma'\n Merge branch 'pci/pm'\n Merge branch 'pci/portdrv'\n Merge branch 'pci/ptm'\n Merge branch 'pci/pwrctrl'\n Merge branch 'pci/resource'\n Merge branch 'pci/trace'\n Merge branch 'pci/virtualization'\n Merge branch 'pci/workqueue'\n Merge branch 'pci/dt-bindings'\n Merge branch 'pci/controller/aspeed'\n Merge branch 'pci/controller/cadence'\n Merge branch 'pci/controller/cadence-j721e'\n Merge branch 'pci/controller/dwc'\n Merge branch 'pci/controller/dwc-imx6'\n Merge branch 'pci/controller/dwc-nxp-s32g'\n Merge branch 'pci/controller/dwc-qcom'\n Merge branch 'pci/controller/dwc-qcom-ep'\n Merge branch 'pci/controller/dwc-rockchip'\n Merge branch 'pci/controller/dwc-sophgo'\n Merge branch 'pci/controller/generic'\n Merge branch 'pci/controller/mediatek'\n Merge branch 'pci/controller/plda-starfive'\n Merge branch 'pci/controller/rzg3s-host'\n Merge branch 'pci/controller/tegra'\n Merge branch 'pci/controller/tegra194'\n Merge branch 'pci/controller/xilinx'\n Merge branch 'pci/controller/misc'\n Merge branch 'pci/misc'\n\nBrian Norris (2):\n PCI/PM: Avoid redundant delays on D3hot->D3cold\n PCI/PM: Prevent runtime suspend until devices are fully initialized\n\nClaudiu Beznea (2):\n PCI: rzg3s-host: Use pci_generic_config_write() for the root bus\n PCI: rzg3s-host: Drop the lock on RZG3S_PCI_MSIRS and RZG3S_PCI_PINTRCVIS\n\nFelix Gu (1):\n PCI: rzg3s-host: Fix device node reference leak in rzg3s_pcie_host_parse_port()\n\nHal Feng (1):\n PCI: starfive: Use regulator APIs to control the 3v3 power supply of PCIe slots\n\nHaotian Zhang (3):\n PCI: mediatek: Fix IRQ domain leak when MSI allocation fails\n PCI: xilinx: Fix INTx IRQ domain leak in error paths\n PCI: endpoint: Add missing NULL check for alloc_workqueue()\n\nHou Tao (2):\n PCI/P2PDMA: Release per-CPU pgmap ref when vm_insert_page() fails\n PCI/P2PDMA: Fix p2pmem_alloc_mmap() warning condition\n\nHåkon Bugge (3):\n PCI: Do not attempt to set ExtTag for VFs\n PCI: Initialize RCB from pci_configure_device()\n PCI/ACPI: Restrict program_hpx_type2() to AER bits\n\nIan Rogers (1):\n PCI: cadence: Avoid signed 64-bit truncation and invalid sort\n\nIlpo Järvinen (27):\n PCI: Use resource_set_range() that correctly sets ->end\n PCI: Fix bridge window alignment with optional resources\n PCI: Rewrite bridge window head alignment function\n PCI: Stop over-estimating bridge window size\n resource: Increase MAX_IORES_LEVEL to 8\n PCI: Remove old_size limit from bridge window sizing\n PCI: Push realloc check into pbus_size_mem()\n PCI: Pass bridge window resource to pbus_size_mem()\n PCI: Use res_to_dev_res() in reassign_resources_sorted()\n PCI: Fetch dev_res to local var in __assign_resources_sorted()\n PCI: Add pci_resource_is_bridge_win()\n PCI: Log reset and restore of resources\n PCI: Check invalid align earlier in pbus_size_mem()\n PCI: Add pbus_mem_size_optional() to handle optional sizes\n resource: Mark res given to resource_assigned() as const\n PCI: Use resource_assigned() in setup-bus.c algorithm\n PCI: Add 'pci' prefix to struct pci_dev_resource handling functions\n PCI: Separate CardBus setup & build it only with CONFIG_CARDBUS\n PCI: Handle CardBus-specific params in setup-cardbus.c\n PCI: Use scnprintf() instead of sprintf()\n PCI: Add dword #defines for Bus Number + Secondary Latency Timer\n PCI: Add pbus_validate_busn() for Bus Number validation\n PCI: Move CardBus bridge scanning to setup-cardbus.c\n PCI: Don't claim disabled bridge windows\n PCI: Use lockdep_assert_held(pci_bus_sem) to verify lock is held\n PCI: Use device_lock_assert() to verify device lock is held\n PCI/bwctrl: Disable BW controller on Intel P45 using a quirk\n\nInochi Amaoto (1):\n PCI: sophgo: Disable L0s and L1 on Sophgo 2044 PCIe Root Ports\n\nJacky Chou (4):\n dt-bindings: PCI: Add ASPEED PCIe RC support\n PCI: Add FMT, TYPE and CPL status definition for TLP header\n PCI: aspeed: Add ASPEED PCIe RC driver\n MAINTAINERS: Add ASPEED PCIe RC driver\n\nJess (1):\n PCI: host-generic: Avoid reporting incorrect 'missing reg property' error\n\nJinhui Guo (1):\n PCI: Fix pci_slot_trylock() error handling\n\nJohnny-CC Chang (1):\n PCI: Mark Nvidia GB10 to avoid bus reset\n\nJörg Wedekind (1):\n PCI: Mark 3ware-9650SA Root Port Extended Tags as broken\n\nKeith Busch (1):\n PCI: Fix pci_slot_lock () device locking\n\nKoichiro Den (9):\n PCI: dwc: ep: Cache MSI outbound iATU mapping\n PCI: endpoint: Add dynamic_inbound_mapping EPC feature\n PCI: endpoint: Add BAR subrange mapping support\n PCI: dwc: Advertise dynamic inbound mapping support\n PCI: dwc: ep: Support BAR subrange inbound mapping via Address Match Mode iATU\n Documentation: PCI: endpoint: Clarify pci_epc_set_bar() usage\n PCI: endpoint: pci-epf-test: Add BAR subrange mapping test support\n misc: pci_endpoint_test: Add BAR subrange mapping test case\n selftests: pci_endpoint: Add BAR subrange mapping test case\n\nKrishna Chaitanya Chundru (3):\n PCI/pwrctrl: Add APIs to create, destroy pwrctrl devices\n PCI: dwc: Fix missing iATU setup when ECAM is enabled\n PCI: Add ACS quirk for Qualcomm Hamoa & Glymur\n\nKrzysztof Kozlowski (12):\n dt-bindings: PCI: qcom,pcie-sm8150: Merge SC8180x into SM8150\n dt-bindings: PCI: qcom,pcie-sdx55: Move SDX55 to dedicated schema\n dt-bindings: PCI: qcom,pcie-sdm845: Move SDM845 to dedicated schema\n dt-bindings: PCI: qcom,pcie-qcs404: Move QCS404 to dedicated schema\n dt-bindings: PCI: qcom,pcie-ipq5018: Move IPQ5018 to dedicated schema\n dt-bindings: PCI: qcom,pcie-ipq6018: Move IPQ6018 and IPQ8074 Gen3 to dedicated schema\n dt-bindings: PCI: qcom,pcie-ipq8074: Move IPQ8074 to dedicated schema\n dt-bindings: PCI: qcom,pcie-ipq4019: Move IPQ4019 to dedicated schema\n dt-bindings: PCI: qcom,pcie-ipq9574: Move IPQ9574 to dedicated schema\n dt-bindings: PCI: qcom,pcie-apq8064: Move APQ8064 to dedicated schema\n dt-bindings: PCI: qcom,pcie-msm8996: Move MSM8996 to dedicated schema\n dt-bindings: PCI: qcom,pcie-apq8084: Move APQ8084 to dedicated schema\n\nLeon Romanovsky (1):\n PCI/P2PDMA: Add missing struct p2pdma_provider documentation\n\nLiu Song (1):\n PCI: endpoint: Avoid creating sub-groups asynchronously\n\nLukas Wunner (2):\n PCI/AER: Clear stale errors on reporting agents upon probe\n PCI/PME: Replace RMW of Root Status register with direct write\n\nManikanta Maddireddy (1):\n PCI: endpoint: Fix swapped parameters in pci_{primary/secondary}_epc_epf_unlink() functions\n\nManivannan Sadhasivam (22):\n PCI: dwc: Skip PME_Turn_Off broadcast and L2/L3 transition during suspend if link is not up\n PCI: qcom: Parse PERST# from all PCIe bridge nodes\n PCI/pwrctrl: tc9563: Use put_device() instead of i2c_put_adapter()\n PCI/pwrctrl: slot: Factor out power on/off code to helpers\n PCI/pwrctrl: pwrseq: Factor out power on/off code to helpers\n PCI/pwrctrl: Add 'struct pci_pwrctrl::power_{on/off}' callbacks\n PCI/pwrctrl: Add APIs to power on/off pwrctrl devices\n PCI/pwrctrl: Switch to pwrctrl create, power on/off, destroy APIs\n PCI: qcom: Drop the assert_perst() callbacks\n PCI: Drop the assert_perst() callback\n PCI: qcom: Rename PERST# assert/deassert helpers for uniformity\n PCI: dwc: Return -ENODEV from dw_pcie_wait_for_link() if device is not found\n PCI: dwc: Return -EIO from dw_pcie_wait_for_link() if device is not active\n PCI: dwc: Rename and move ltssm_status_string() to pcie-designware.c\n PCI: dwc: Rework the error print of dw_pcie_wait_for_link()\n PCI: dwc: Fail dw_pcie_host_init() if dw_pcie_wait_for_link() returns -ETIMEDOUT\n PCI/pwrctrl: Add PCIe M.2 connector support\n PCI/pwrctrl: Create pwrctrl device if graph port is found\n PCI: Enable ACS after configuring IOMMU for OF platforms\n PCI: Cache ACS Capabilities register\n PCI: Disable ACS SV for IDT 0x80b5 switch\n PCI: Disable ACS SV for IDT 0x8090 switch\n\nMarco Crivellari (2):\n PCI: Add WQ_PERCPU to alloc_workqueue() users\n PCI: endpoint: Replace use of system_wq with system_percpu_wq\n\nMrinmay Sarkar (2):\n dt-bindings: PCI: qcom,sa8255p-pcie-ep: Document firmware managed PCIe endpoint\n PCI: qcom-ep: Add support for firmware-managed PCIe Endpoint\n\nNathan Chancellor (1):\n PCI: rcar-host: Add OF Kconfig dependency to avoid objtool no-cfi warning\n\nNicolas Cavallari (1):\n PCI: Add ACS quirk for Pericom PI7C9X2G404 switches [12d8:b404]\n\nNiklas Cassel (9):\n Revert \"PCI: dw-rockchip: Don't wait for link since we can detect Link Up\"\n Revert \"PCI: dw-rockchip: Enumerate endpoints based on dll_link_up IRQ\"\n Revert \"PCI: qcom: Don't wait for link if we can detect Link Up\"\n Revert \"PCI: qcom: Enable MSI interrupts together with Link up if 'Global IRQ' is supported\"\n Revert \"PCI: qcom: Enumerate endpoints based on Link up event in 'global_irq' interrupt\"\n Revert \"PCI: dwc: Don't wait for link up if driver can detect Link Up event\"\n PCI: endpoint: pci-epf-test: Allow overriding default BAR sizes\n PCI: dwc: Fix msg_atu_index assignment\n PCI: dwc: Clean up iATU index usage in dw_pcie_iatu_setup()\n\nNiklas Schnelle (2):\n Revert \"PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV\"\n PCI/IOV: Fix race between SR-IOV enable/disable and hotplug\n\nNirmoy Das (2):\n PCI: Add ASPEED vendor ID to pci_ids.h\n PCI: Add PCI_BRIDGE_NO_ALIAS quirk for ASPEED AST1150\n\nPhilipp Stanner (1):\n PCI: Remove useless WARN_ON() from devres\n\nPrudhvi Yarlagadda (1):\n dt-bindings: PCI: qcom: Document the Glymur PCIe Controller\n\nQiang Yu (8):\n PCI: Add preceding capability position support in PCI_FIND_NEXT_*_CAP macros\n PCI: dwc: Add new APIs to remove standard and extended Capability\n PCI: dwc: Remove MSI/MSIX capability for Root Port if iMSI-RX is used as MSI controller\n PCI: qcom: Remove MSI-X Capability for Root Ports\n PCI: qcom: Remove DPC Extended Capability\n PCI: dwc: Remove duplicate dw_pcie_ep_hide_ext_capability() function\n PCI: dwc: Fix grammar and formatting for comment in dw_pcie_remove_ext_capability()\n PCI: dwc: Rename dw_pcie_rp::has_msi_ctrl to dw_pcie_rp::use_imsi_rx for clarity\n\nRichard Zhu (7):\n dt-bindings: PCI: dwc: Add external reference clock input\n dt-bindings: PCI: pci-imx6: Add external reference clock input\n PCI: imx6: Add external reference clock input mode support\n PCI: dwc: Invoke post_init in dw_pcie_resume_noirq()\n PCI: imx6: Add CLKREQ# override to enable REFCLK for i.MX95 PCIe\n PCI: imx6: Clear CLKREQ# override if 'supports-clkreq' DT property is available\n PCI: dwc: Skip waiting for L2/L3 Ready if dw_pcie_rp::skip_l23_wait is true\n\nRob Herring (Arm) (1):\n dt-bindings: PCI: socionext,uniphier-pcie: Fix interrupt controller node name\n\nSamuel Holland (1):\n PCI: dwc: Use multiple iATU windows for mapping large bridge windows and DMA ranges\n\nSergey Shtylyov (1):\n PCI: Check parent for NULL in of_pci_bus_release_domain_nr()\n\nShawn Lin (5):\n PCI: dwc: Add L1 Substates context to ltssm_status of debugfs\n PCI: dw-rockchip: Change get_ltssm() to provide L1 Substates info\n PCI: dwc: Use cfg0_base as iMSI-RX target address to support 32-bit MSI devices\n Documentation: PCI: Fix typos in msi-howto.rst\n PCI: dw-rockchip: Disable BAR 0 and BAR 1 for Root Port\n\nShuai Xue (3):\n PCI: trace: Add generic RAS tracepoint for hotplug event\n PCI: trace: Add RAS tracepoint to monitor link speed changes\n Documentation: tracing: Add PCI tracepoint documentation\n\nSiddharth Vadapalli (1):\n PCI: j721e: Add config guards for Cadence Host and Endpoint library APIs\n\nSjoerd Simons (1):\n dt-bindings: PCI: mediatek-gen3: Add MT7981 PCIe compatible\n\nUwe Kleine-König (6):\n PCI/portdrv: Fix potential resource leak\n PCI/portdrv: Drop empty shutdown callback\n PCI/portdrv: Don't check for the driver's and device's bus\n PCI/portdrv: Move pcie_port_bus_type to pcie source file\n PCI/portdrv: Don't check for valid device and driver in bus callbacks\n PCI/portdrv: Use bus-type functions\n\nVidya Sagar (1):\n PCI: dwc: tegra194: Broaden architecture dependency\n\nVincent Guittot (1):\n PCI: s32g: Skip Root Port removal during success\n\nYao Zi (1):\n dt-bindings: PCI: loongson: Document msi-parent property\n\n Documentation/PCI/endpoint/pci-endpoint.rst | 24 +\n Documentation/PCI/endpoint/pci-test-howto.rst | 19 +\n Documentation/PCI/endpoint/pci-vntb-howto.rst | 14 +-\n Documentation/PCI/msi-howto.rst | 6 +-\n .../bindings/pci/aspeed,ast2600-pcie.yaml | 182 ++++\n .../devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 7 +-\n .../devicetree/bindings/pci/loongson.yaml | 2 +\n .../bindings/pci/mediatek-pcie-gen3.yaml | 1 +\n .../devicetree/bindings/pci/qcom,pcie-apq8064.yaml | 170 +++\n .../devicetree/bindings/pci/qcom,pcie-apq8084.yaml | 109 ++\n .../devicetree/bindings/pci/qcom,pcie-ipq4019.yaml | 146 +++\n .../devicetree/bindings/pci/qcom,pcie-ipq5018.yaml | 189 ++++\n .../devicetree/bindings/pci/qcom,pcie-ipq6018.yaml | 179 ++++\n .../devicetree/bindings/pci/qcom,pcie-ipq8074.yaml | 165 +++\n .../devicetree/bindings/pci/qcom,pcie-ipq9574.yaml | 183 ++++\n .../devicetree/bindings/pci/qcom,pcie-msm8996.yaml | 156 +++\n .../devicetree/bindings/pci/qcom,pcie-qcs404.yaml | 131 +++\n .../devicetree/bindings/pci/qcom,pcie-sc8180x.yaml | 168 ---\n .../devicetree/bindings/pci/qcom,pcie-sdm845.yaml | 190 ++++\n .../devicetree/bindings/pci/qcom,pcie-sdx55.yaml | 172 +++\n .../devicetree/bindings/pci/qcom,pcie-sm8150.yaml | 1 +\n .../bindings/pci/qcom,pcie-x1e80100.yaml | 7 +-\n .../devicetree/bindings/pci/qcom,pcie.yaml | 782 --------------\n .../bindings/pci/qcom,sa8255p-pcie-ep.yaml | 110 ++\n .../bindings/pci/snps,dw-pcie-common.yaml | 6 +\n .../bindings/pci/socionext,uniphier-pcie.yaml | 4 +-\n Documentation/trace/events-pci.rst | 74 ++\n Documentation/trace/index.rst | 1 +\n MAINTAINERS | 9 +\n drivers/cpuidle/cpuidle-tegra.c | 1 +\n drivers/misc/pci_endpoint_test.c | 203 +++-\n drivers/pci/Makefile | 4 +\n drivers/pci/bus.c | 21 +-\n drivers/pci/controller/Kconfig | 19 +-\n drivers/pci/controller/Makefile | 1 +\n drivers/pci/controller/cadence/pci-j721e.c | 41 +-\n .../controller/cadence/pcie-cadence-host-common.c | 12 +-\n drivers/pci/controller/cadence/pcie-cadence.c | 4 +-\n drivers/pci/controller/dwc/Kconfig | 4 +-\n drivers/pci/controller/dwc/pci-dra7xx.c | 1 +\n drivers/pci/controller/dwc/pci-imx6.c | 77 +-\n drivers/pci/controller/dwc/pci-keystone.c | 1 +\n drivers/pci/controller/dwc/pcie-artpec6.c | 1 +\n .../pci/controller/dwc/pcie-designware-debugfs.c | 52 +-\n drivers/pci/controller/dwc/pcie-designware-ep.c | 399 +++++--\n drivers/pci/controller/dwc/pcie-designware-host.c | 229 ++--\n drivers/pci/controller/dwc/pcie-designware-plat.c | 1 +\n drivers/pci/controller/dwc/pcie-designware.c | 152 ++-\n drivers/pci/controller/dwc/pcie-designware.h | 45 +-\n drivers/pci/controller/dwc/pcie-dw-rockchip.c | 101 +-\n drivers/pci/controller/dwc/pcie-keembay.c | 1 +\n drivers/pci/controller/dwc/pcie-nxp-s32g.c | 8 +-\n drivers/pci/controller/dwc/pcie-qcom-ep.c | 62 +-\n drivers/pci/controller/dwc/pcie-qcom.c | 229 ++--\n drivers/pci/controller/dwc/pcie-rcar-gen4.c | 1 +\n drivers/pci/controller/dwc/pcie-sophgo.c | 18 +\n drivers/pci/controller/dwc/pcie-stm32-ep.c | 1 +\n drivers/pci/controller/dwc/pcie-tegra194.c | 1 +\n drivers/pci/controller/dwc/pcie-uniphier-ep.c | 2 +\n drivers/pci/controller/pci-host-common.c | 2 +-\n drivers/pci/controller/pci-tegra.c | 35 +-\n drivers/pci/controller/pcie-aspeed.c | 1111 ++++++++++++++++++++\n drivers/pci/controller/pcie-mediatek.c | 4 +-\n drivers/pci/controller/pcie-rzg3s-host.c | 37 +-\n drivers/pci/controller/pcie-xilinx.c | 9 +-\n drivers/pci/controller/plda/pcie-starfive.c | 25 +-\n drivers/pci/devres.c | 3 -\n drivers/pci/endpoint/functions/pci-epf-mhi.c | 2 +-\n drivers/pci/endpoint/functions/pci-epf-ntb.c | 9 +-\n drivers/pci/endpoint/functions/pci-epf-test.c | 271 ++++-\n drivers/pci/endpoint/functions/pci-epf-vntb.c | 9 +-\n drivers/pci/endpoint/pci-ep-cfs.c | 23 +-\n drivers/pci/endpoint/pci-epc-core.c | 8 +\n drivers/pci/hotplug/pciehp_ctrl.c | 31 +-\n drivers/pci/hotplug/pciehp_hpc.c | 3 +-\n drivers/pci/hotplug/pnv_php.c | 2 +-\n drivers/pci/hotplug/shpchp_core.c | 3 +-\n drivers/pci/iov.c | 9 +-\n drivers/pci/of.c | 1 +\n drivers/pci/p2pdma.c | 10 +-\n drivers/pci/pci-acpi.c | 59 +-\n drivers/pci/pci-driver.c | 36 +-\n drivers/pci/pci-sysfs.c | 2 +-\n drivers/pci/pci.c | 116 +-\n drivers/pci/pci.h | 115 +-\n drivers/pci/pcie/aer.c | 29 +-\n drivers/pci/pcie/bwctrl.c | 7 +-\n drivers/pci/pcie/portdrv.c | 55 +-\n drivers/pci/pcie/ptm.c | 5 +-\n drivers/pci/probe.c | 249 ++---\n drivers/pci/pwrctrl/Kconfig | 1 +\n drivers/pci/pwrctrl/core.c | 260 ++++-\n drivers/pci/pwrctrl/pci-pwrctrl-pwrseq.c | 84 +-\n drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c | 226 ++--\n drivers/pci/pwrctrl/slot.c | 101 +-\n drivers/pci/quirks.c | 91 +-\n drivers/pci/remove.c | 20 -\n drivers/pci/search.c | 2 +\n drivers/pci/setup-bus.c | 646 ++++--------\n drivers/pci/setup-cardbus.c | 306 ++++++\n drivers/pci/setup-res.c | 2 +-\n drivers/pci/trace.c | 11 +\n drivers/pcmcia/yenta_socket.c | 2 +-\n drivers/usb/host/ehci-pci.c | 1 -\n include/linux/ioport.h | 2 +-\n include/linux/pci-epc.h | 9 +\n include/linux/pci-epf.h | 23 +\n include/linux/pci-p2pdma.h | 2 +\n include/linux/pci-pwrctrl.h | 16 +-\n include/linux/pci.h | 14 +-\n include/linux/pci_ids.h | 2 +\n include/trace/events/pci.h | 129 +++\n include/uapi/linux/pci.h | 7 +\n include/uapi/linux/pci_regs.h | 5 +\n include/uapi/linux/pcitest.h | 1 +\n kernel/irq/irqdomain.c | 1 +\n kernel/resource.c | 2 +-\n .../selftests/pci_endpoint/pci_endpoint_test.c | 17 +\n 118 files changed, 6650 insertions(+), 2512 deletions(-)\n create mode 100644 Documentation/devicetree/bindings/pci/aspeed,ast2600-pcie.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-apq8064.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-apq8084.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ipq4019.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ipq5018.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ipq6018.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ipq8074.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ipq9574.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-msm8996.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-qcs404.yaml\n delete mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-sc8180x.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-sdm845.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-sdx55.yaml\n delete mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie.yaml\n create mode 100644 Documentation/devicetree/bindings/pci/qcom,sa8255p-pcie-ep.yaml\n create mode 100644 Documentation/trace/events-pci.rst\n create mode 100644 drivers/pci/controller/pcie-aspeed.c\n create mode 100644 drivers/pci/setup-cardbus.c\n create mode 100644 drivers/pci/trace.c\n create mode 100644 include/trace/events/pci.h", "diff": null, "prefixes": [ "GIT", "PULL" ] }