<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/pci/controller/dwc/pcie-designware.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2026-02-26T23:01:10Z</updated>
<entry>
<title>PCI: dwc: Add new APIs to remove standard and extended Capability</title>
<updated>2026-02-26T23:01:10Z</updated>
<author>
<name>Qiang Yu</name>
<email>qiang.yu@oss.qualcomm.com</email>
</author>
<published>2025-11-10T06:59:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b7880a3ab85cbfc1db679f0fc84c7012d52cb831'/>
<id>urn:sha1:b7880a3ab85cbfc1db679f0fc84c7012d52cb831</id>
<content type='text'>
[ Upstream commit 0183562f1e824c0ca6c918309a0978e9a269af3e ]

On some platforms, certain PCIe Capabilities may be present in hardware
but are not fully implemented as defined in PCIe spec. These incomplete
capabilities should be hidden from the PCI framework to prevent unexpected
behavior.

Introduce two APIs to remove a specific PCIe Capability and Extended
Capability by updating the previous capability's next offset field to skip
over the unwanted capability. These APIs allow RC drivers to easily hide
unsupported or partially implemented capabilities from software.

Co-developed-by: Wenbin Yao &lt;wenbin.yao@oss.qualcomm.com&gt;
Signed-off-by: Wenbin Yao &lt;wenbin.yao@oss.qualcomm.com&gt;
Signed-off-by: Qiang Yu &lt;qiang.yu@oss.qualcomm.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://patch.msgid.link/20251109-remove_cap-v1-2-2208f46f4dc2@oss.qualcomm.com
Stable-dep-of: 72cb5ed2a5c6 ("PCI: dwc: ep: Add per-PF BAR and inbound ATU mapping support")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI: Add preceding capability position support in PCI_FIND_NEXT_*_CAP macros</title>
<updated>2026-02-26T23:01:10Z</updated>
<author>
<name>Qiang Yu</name>
<email>qiang.yu@oss.qualcomm.com</email>
</author>
<published>2025-11-10T06:59:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=02b8ba3c1651c6c5d921367c19090896008e0142'/>
<id>urn:sha1:02b8ba3c1651c6c5d921367c19090896008e0142</id>
<content type='text'>
[ Upstream commit a2582e05e39adf9ab82a02561cd6f70738540ae0 ]

Add support for finding the preceding capability position in PCI
capability list by extending the capability finding macros with an
additional parameter. This functionality is essential for modifying PCI
capability list, as it provides the necessary information to update the
"next" pointer of the predecessor capability when removing entries.

Modify two macros to accept a new 'prev_ptr' parameter:
- PCI_FIND_NEXT_CAP - Now accepts 'prev_ptr' parameter for standard
  capabilities
- PCI_FIND_NEXT_EXT_CAP - Now accepts 'prev_ptr' parameter for extended
  capabilities

When a capability is found, these macros:
- Store the position of the preceding capability in *prev_ptr
  (if prev_ptr != NULL)
- Maintain all existing functionality when prev_ptr is NULL

Update current callers to accommodate this API change by passing NULL to
'prev_ptr' argument if they do not care about the preceding capability
position.

No functional changes to driver behavior result from this commit as it
maintains the existing capability finding functionality while adding the
infrastructure for future capability removal operations.

Signed-off-by: Qiang Yu &lt;qiang.yu@oss.qualcomm.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://patch.msgid.link/20251109-remove_cap-v1-1-2208f46f4dc2@oss.qualcomm.com
Stable-dep-of: 72cb5ed2a5c6 ("PCI: dwc: ep: Add per-PF BAR and inbound ATU mapping support")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/meson'</title>
<updated>2025-12-03T20:18:39Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-12-03T20:18:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=88b8b5b3eab25cdd3ef9b4efafd1db1d1b83d5e7'/>
<id>urn:sha1:88b8b5b3eab25cdd3ef9b4efafd1db1d1b83d5e7</id>
<content type='text'>
- Update DT binding to name DBI region "dbi", not "elbi", and update driver
  to support both (Manivannan Sadhasivam)

* pci/controller/meson:
  PCI: meson: Fix parsing the DBI register region
  dt-bindings: PCI: amlogic: Fix the register name of the DBI region
</content>
</entry>
<entry>
<title>PCI: dwc: Advertise L1 PM Substates only if driver requests it</title>
<updated>2025-11-24T22:47:19Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-11-18T21:42:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a00bba406b5a682764ecb507e580ca8159196aa3'/>
<id>urn:sha1:a00bba406b5a682764ecb507e580ca8159196aa3</id>
<content type='text'>
L1 PM Substates require the CLKREQ# signal and may also require
device-specific support.  If CLKREQ# is not supported or driver support is
lacking, enabling L1.1 or L1.2 may cause errors when accessing devices,
e.g.,

  nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0x10

If the kernel is built with CONFIG_PCIEASPM_POWER_SUPERSAVE=y or users
enable L1.x via sysfs, users may trip over these errors even if L1
Substates haven't been enabled by firmware or the driver.

To prevent such errors, disable advertising the L1 PM Substates unless the
driver sets "dw_pcie.l1ss_support" to indicate that it knows CLKREQ# is
present and any device-specific configuration has been done.

Set "dw_pcie.l1ss_support" in tegra194 (if DT includes the
"supports-clkreq' property) and qcom (for cfg_2_7_0, cfg_1_9_0, cfg_1_34_0,
and cfg_sc8280xp controllers) so they can continue to use L1 Substates.

Based on Niklas's patch:
https://patch.msgid.link/20251017163252.598812-2-cassel@kernel.org

[bhelgaas: drop hiding for endpoints]
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Link: https://patch.msgid.link/20251118214312.2598220-2-helgaas@kernel.org
</content>
</entry>
<entry>
<title>PCI: meson: Fix parsing the DBI register region</title>
<updated>2025-11-10T06:53:25Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
<email>manivannan.sadhasivam@oss.qualcomm.com</email>
</author>
<published>2025-11-01T04:29:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=eff0306b109f2d611e44f0155b0324f6cfec3ef4'/>
<id>urn:sha1:eff0306b109f2d611e44f0155b0324f6cfec3ef4</id>
<content type='text'>
First of all, the driver was parsing the 'dbi' register region as 'elbi'.
This was due to DT mistakenly passing 'dbi' as 'elbi'. Since the DT is
now fixed to supply 'dbi' region, this driver can rely on the DWC core
driver to parse and map it.

However, to support the old DTs, if the 'elbi' region is found in DT, parse
and map the region as both 'dw_pcie::elbi_base' as 'dw_pcie::dbi_base'.
This will allow the driver to work with both broken and fixed DTs.

Also, skip parsing the 'elbi' region in DWC core if 'pci-&gt;elbi_base' was
already populated.

Fixes: 9c0ef6d34fdb ("PCI: amlogic: Add the Amlogic Meson PCIe controller driver")
Fixes: c96992a24bec ("PCI: dwc: Add support for ELBI resource mapping")
Reported-by: Linnaea Lavia &lt;linnaea-von-lavia@live.com&gt;
Closes: https://lore.kernel.org/linux-pci/DM4PR05MB102707B8CDF84D776C39F22F2C7F0A@DM4PR05MB10270.namprd05.prod.outlook.com/
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@oss.qualcomm.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on Bananapi-M2S
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Cc: stable@vger.kernel.org # 6.2
Link: https://patch.msgid.link/20251101-pci-meson-fix-v1-3-c50dcc56ed6a@oss.qualcomm.com
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/qcom'</title>
<updated>2025-10-03T17:13:20Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-10-03T17:13:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=531abff0fa53bc3a2f7f69b2693386eb6bda96e5'/>
<id>urn:sha1:531abff0fa53bc3a2f7f69b2693386eb6bda96e5</id>
<content type='text'>
- Select PCI Power Control Slot driver so slot voltage rails can be turned
  on/off if described in Root Port device tree node (Qiang Yu)

- Parse only PCI bridge child nodes in device tree, skipping unrelated
  nodes such as OPP (Operating Performance Points), which caused probe
  failures (Krishna Chaitanya Chundru)

- Add 8.0 GT/s and 32.0 GT/s equalization settings (Ziyue Zhang)

- Fix typo in CURSOR macro names (Ziyue Zhang)

- Consolidate Root Port 'phy' and 'reset' properties in struct
  qcom_pcie_port, regardless of whether we got them from the Root Port node
  or the host bridge node (Manivannan Sadhasivam)

- Fetch and map the ELBI register space in the DWC core rather than in each
  driver individually (Krishna Chaitanya Chundru)

- Enable ECAM mechanism in DWC core by setting up iATU with 'CFG Shift
  Feature' and use this in the qcom driver (Krishna Chaitanya Chundru)

* pci/controller/qcom:
  PCI: dwc: Support ECAM mechanism by enabling iATU 'CFG Shift Feature'
  PCI: qcom: Prepare for the DWC ECAM enablement
  PCI: dwc: Prepare the driver for enabling ECAM mechanism using iATU 'CFG Shift Feature'
  PCI: dwc: Add support for ELBI resource mapping
  PCI: qcom: Move host bridge 'phy' and 'reset' pointers to struct qcom_pcie_port
  PCI: qcom: Fix macro typo for CURSOR
  PCI: qcom: Add equalization settings for 8.0 GT/s and 32.0 GT/s
  PCI: qcom: Restrict port parsing only to PCIe bridge child nodes
  PCI: qcom: Select PCI Power Control Slot driver
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/dwc-edma'</title>
<updated>2025-10-03T17:13:16Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-10-03T17:13:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0a09e23176beb46879007257b678b6a59905109f'/>
<id>urn:sha1:0a09e23176beb46879007257b678b6a59905109f</id>
<content type='text'>
- Verify that if DT specifies a single IRQ for all eDMA channels, it is
  named 'dma' (Niklas Cassel)

- Remove qcom edma.nr_irqs initialization, which is redundant since
  dw_pcie_edma_irq_verify() initializes it based on whether the DT contains
  'dma' (single IRQ) or 'dmaX' (multiple IRQs) (Niklas Cassel)

* pci/controller/dwc-edma:
  PCI: qcom-ep: Remove redundant edma.nr_irqs initialization
  PCI: dwc: Verify the single eDMA IRQ in dw_pcie_edma_irq_verify()
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/dwc'</title>
<updated>2025-10-03T17:13:16Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-10-03T17:13:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f2b2fcf6d64e45f68e1730ac0a63fe896f06241e'/>
<id>urn:sha1:f2b2fcf6d64e45f68e1730ac0a63fe896f06241e</id>
<content type='text'>
- Add support for x16 in devicetree 'num-lanes' property (Konrad Dybcio)

* pci/controller/dwc:
  PCI: dwc: Support 16-lane operation
</content>
</entry>
<entry>
<title>PCI: dwc: Support 16-lane operation</title>
<updated>2025-09-26T21:03:02Z</updated>
<author>
<name>Konrad Dybcio</name>
<email>konrad.dybcio@oss.qualcomm.com</email>
</author>
<published>2025-09-26T12:22:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cef730075cfe2b2091e3c94471cc0a78405401d5'/>
<id>urn:sha1:cef730075cfe2b2091e3c94471cc0a78405401d5</id>
<content type='text'>
Some hosts support 16 lanes of PCIe. Make num-lanes accept that number.

Signed-off-by: Konrad Dybcio &lt;konrad.dybcio@oss.qualcomm.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Link: https://patch.msgid.link/20250926-topic-pcie_16ln-v1-1-c249acc18790@oss.qualcomm.com
</content>
</entry>
<entry>
<title>PCI: dwc: Prepare the driver for enabling ECAM mechanism using iATU 'CFG Shift Feature'</title>
<updated>2025-09-25T13:03:52Z</updated>
<author>
<name>Krishna Chaitanya Chundru</name>
<email>krishna.chundru@oss.qualcomm.com</email>
</author>
<published>2025-09-23T11:26:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f6fd357f7afbeb34a633e5688a23b9d7eb49d558'/>
<id>urn:sha1:f6fd357f7afbeb34a633e5688a23b9d7eb49d558</id>
<content type='text'>
In order to enable PCIe ECAM mechanism in DWC driver as per the 'CFG Shift
Feature' documented in Designware databook r5.20a, sec 3.10.10.3, prepare
the driver to handle the one time iATU setup and creating ECAM window.

Signed-off-by: Krishna Chaitanya Chundru &lt;krishna.chundru@oss.qualcomm.com&gt;
[mani: splitted the preparatory code into a separate commit for bisectability]
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://patch.msgid.link/20250923-controller-dwc-ecam-v10-2-e84390ba75fa@kernel.org
</content>
</entry>
</feed>
