<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/pci/controller/cadence, branch v6.18.22</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.22</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.22'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-03-12T11:09:30+00:00</updated>
<entry>
<title>PCI: Add preceding capability position support in PCI_FIND_NEXT_*_CAP macros</title>
<updated>2026-03-12T11:09:30+00:00</updated>
<author>
<name>Qiang Yu</name>
<email>qiang.yu@oss.qualcomm.com</email>
</author>
<published>2025-11-10T06:59:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=26f9e895616baed79091295605cab3b47e713cec'/>
<id>urn:sha1:26f9e895616baed79091295605cab3b47e713cec</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: 43d67ec26b32 ("PCI: dwc: ep: Fix resizable BAR support for multi-PF configurations")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI: j721e: Add config guards for Cadence Host and Endpoint library APIs</title>
<updated>2026-03-12T11:09:24+00:00</updated>
<author>
<name>Siddharth Vadapalli</name>
<email>s-vadapalli@ti.com</email>
</author>
<published>2025-11-17T11:32:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=53abc9c61361379450a8ba744c3036c97d237899'/>
<id>urn:sha1:53abc9c61361379450a8ba744c3036c97d237899</id>
<content type='text'>
[ Upstream commit 4b361b1e92be255ff923453fe8db74086cc7cf66 ]

Commit under Fixes enabled loadable module support for the driver under
the assumption that it shall be the sole user of the Cadence Host and
Endpoint library APIs. This assumption guarantees that we won't end up
in a case where the driver is built-in and the library support is built
as a loadable module.

With the introduction of [1], this assumption is no longer valid. The
SG2042 driver could be built as a loadable module, implying that the
Cadence Host library is also selected as a loadable module. However, the
pci-j721e.c driver could be built-in as indicated by CONFIG_PCI_J721E=y
due to which the Cadence Endpoint library is built-in. Despite the
library drivers being built as specified by their respective consumers,
since the 'pci-j721e.c' driver has references to the Cadence Host
library APIs as well, we run into a build error as reported at [0].

Fix this by adding config guards as a temporary workaround. The proper
fix is to split the 'pci-j721e.c' driver into independent Host and
Endpoint drivers as aligned at [2].

[0]: https://lore.kernel.org/r/202511111705.MZ7ls8Hm-lkp@intel.com/
[1]: commit 1c72774df028 ("PCI: sg2042: Add Sophgo SG2042 PCIe driver")
[2]: https://lore.kernel.org/r/37f6f8ce-12b2-44ee-a94c-f21b29c98821@app.fastmail.com/

Fixes: a2790bf81f0f ("PCI: j721e: Add support to build as a loadable module")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/oe-kbuild-all/202511111705.MZ7ls8Hm-lkp@intel.com/
Suggested-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20251117113246.1460644-1-s-vadapalli@ti.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI: j721e: Use devm_clk_get_optional_enabled() to get and enable the clock</title>
<updated>2026-03-12T11:09:24+00:00</updated>
<author>
<name>Anand Moon</name>
<email>linux.amoon@gmail.com</email>
</author>
<published>2025-10-28T15:42:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ee7f2ce97b08254df11a3bccae3cfbc7087ce7f0'/>
<id>urn:sha1:ee7f2ce97b08254df11a3bccae3cfbc7087ce7f0</id>
<content type='text'>
[ Upstream commit 6fad11c61d0dbf87601ab9e2e37cba7a9a427f7b ]

Use devm_clk_get_optional_enabled() helper instead of calling
devm_clk_get_optional() and then clk_prepare_enable().

Assign the result of devm_clk_get_optional_enabled() directly to
pcie-&gt;refclk to avoid using a local 'clk' variable.

Signed-off-by: Anand Moon &lt;linux.amoon@gmail.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
Link: https://patch.msgid.link/20251028154229.6774-2-linux.amoon@gmail.com
Stable-dep-of: 4b361b1e92be ("PCI: j721e: Add config guards for Cadence Host and Endpoint library APIs")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI: sg2042: Fix a reference count issue in sg2042_pcie_remove()</title>
<updated>2025-12-18T13:02:32+00:00</updated>
<author>
<name>Christophe JAILLET</name>
<email>christophe.jaillet@wanadoo.fr</email>
</author>
<published>2025-09-29T18:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a43afb170963876684ac895c4ea1bdb2f2bbf978'/>
<id>urn:sha1:a43afb170963876684ac895c4ea1bdb2f2bbf978</id>
<content type='text'>
[ Upstream commit 932ec9dff6da40382ee63049a11a6ff047bdc259 ]

devm_pm_runtime_enable() is used in the probe, so pm_runtime_disable()
should not be called explicitly in the remove function.

Fixes: 1c72774df028 ("PCI: sg2042: Add Sophgo SG2042 PCIe driver")
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Tested-by: Chen Wang &lt;unicorn_wang@outlook.com&gt; # on Pioneerbox.
Acked-by: Chen Wang &lt;unicorn_wang@outlook.com&gt;
Link: https://patch.msgid.link/242eca0ff6601de7966a53706e9950fbcb10aac8.1759169586.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI: cadence: Search for MSI Capability with correct ID</title>
<updated>2025-10-13T21:42:29+00:00</updated>
<author>
<name>Hans Zhang</name>
<email>18255117159@163.com</email>
</author>
<published>2025-10-10T14:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d6fc45100aa8c02be3ddd16fae569b84086c15a9'/>
<id>urn:sha1:d6fc45100aa8c02be3ddd16fae569b84086c15a9</id>
<content type='text'>
907912c1daa7 ("PCI: cadence: Use cdns_pcie_find_*capability() to avoid
hardcoding offsets") incorrectly searched for the MSI-X Capability ID
instead of the MSI Capability ID in cdns_pcie_ep_get_msi().

Search for PCI_CAP_ID_MSI, not PCI_CAP_ID_MSIX, to fix this problem.

Fixes: 907912c1daa7 ("PCI: cadence: Use cdns_pcie_find_*capability() to avoid hardcoding offsets")
Reported-by: Sasha Levin &lt;sashal@kernel.org&gt;
Closes: https://lore.kernel.org/r/aOfMk9BW8BH2P30V@laps/
Signed-off-by: Hans Zhang &lt;18255117159@163.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Link: https://patch.msgid.link/20251010144307.12979-1-18255117159@163.com
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/sophgo'</title>
<updated>2025-10-03T17:13:22+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-10-03T17:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0157e111db7d7a2527a9387bca18b8e3855780dc'/>
<id>urn:sha1:0157e111db7d7a2527a9387bca18b8e3855780dc</id>
<content type='text'>
- Check for existence of struct cdns_pcie.ops before using it to allow
  Cadence drivers that don't need to supply ops (Chen Wang)

- Add DT binding and driver for the Sophgo SG2042 PCIe controller (Chen
  Wang)

* pci/controller/sophgo:
  PCI: sg2042: Add Sophgo SG2042 PCIe driver
  PCI: cadence: Check for the existence of cdns_pcie::ops before using it
  dt-bindings: pci: Add Sophgo SG2042 PCIe host
</content>
</entry>
<entry>
<title>Merge branch 'pci/controller/j721e'</title>
<updated>2025-10-03T17:13:18+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-10-03T17:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=da72dcc28eb75758366da0167074911f71a8ead6'/>
<id>urn:sha1:da72dcc28eb75758366da0167074911f71a8ead6</id>
<content type='text'>
- Add MODULE_DEVICE_TABLE() so driver can be autoloaded (Siddharth
  Vadapalli)

- Power controller off before configuring the glue layer so the controller
  latches the correct values on power-on (Siddharth Vadapalli)

- Correct the error message when j721e_pcie_ctrl_init() fails (Alok Tiwari)

* pci/controller/j721e:
  PCI: j721e: Fix incorrect error message in probe()
  PCI: j721e: Fix programming sequence of "strap" settings
  PCI: j721e: Fix module autoloading
</content>
</entry>
<entry>
<title>Merge branch 'pci/endpoint'</title>
<updated>2025-10-03T17:13:15+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2025-10-03T17:13:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f26502c7b895ed33867824ac35e401d6641a9985'/>
<id>urn:sha1:f26502c7b895ed33867824ac35e401d6641a9985</id>
<content type='text'>
- Check for errors returned from pci_epc_get(), which returns IS_ERR(), not
  NULL on error (Dan Carpenter)

- Fix pci_endpoint_test_ioctl() array underflow (Dan Carpenter)

- Document sysfs interface for BAR assignment of vNTB endpoint functions
  (Jerome Brunet)

- Drop superfluous pci_epc_features initialization for unsupported
  features; we only have to mention features that *are* supported (Niklas
  Cassel)

- Skip IRQ tests if the IRQ is out of range (Christian Bruel)

- Fix pci-epf-test for controllers with fixed-size BARs smaller than
  requested by the test (Marek Vasut)

- Restore inbound translation when disabling doorbell so the doorbell test
  case can be run more than once (Niklas Cassel)

- Check for NULL before releasing DMA channels to avoid a NULL pointer
  dereference (Shin'ichiro Kawasaki)

- Convert tegra194 interrupt number to MSI vector to fix endpoint Kselftest
  MSI_TEST test case (Niklas Cassel)

- Set tegra_pcie_epc_features.msi_capable so the pci_endpoint_test can use
  the optimal IRQ type (Niklas Cassel)

- Reset tegra194 BARs when running in endpoint mode so the BAR tests don't
  overwrite the ATU settings in BAR4 (Niklas Cassel)

- Handle errors in tegra194 BPMP transactions so we don't mistakenly skip
  future PERST# assertion (Vidya Sagar)

* pci/endpoint:
  PCI: tegra194: Handle errors in BPMP response
  PCI: tegra194: Reset BARs when running in PCIe endpoint mode
  PCI: tegra194: Set pci_epc_features::msi_capable to true
  PCI: tegra194: Fix broken tegra_pcie_ep_raise_msi_irq()
  PCI: endpoint: pci-epf-test: Add NULL check for DMA channels before release
  PCI: endpoint: pci-epf-test: Fix doorbell test support
  PCI: endpoint: pci-epf-test: Limit PCIe BAR size for fixed BARs
  selftests: pci_endpoint: Skip IRQ test if IRQ is out of range.
  misc: pci_endpoint_test: Cleanup extra 0 initialization
  misc: pci_endpoint_test: Skip IRQ tests if irq is out of range
  PCI: endpoint: Drop superfluous pci_epc_features initialization
  Documentation: PCI: endpoint: Document BAR assignment
  misc: pci_endpoint_test: Fix array underflow in pci_endpoint_test_ioctl()
  PCI: endpoint: pci-ep-msi: Fix NULL vs IS_ERR() check in pci_epf_write_msi_msg()
</content>
</entry>
<entry>
<title>PCI: j721e: Fix incorrect error message in probe()</title>
<updated>2025-09-29T18:04:39+00:00</updated>
<author>
<name>Alok Tiwari</name>
<email>alok.a.tiwari@oracle.com</email>
</author>
<published>2025-09-05T21:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cfcd6cab2f33c24a68517f9e3131480b4000c2be'/>
<id>urn:sha1:cfcd6cab2f33c24a68517f9e3131480b4000c2be</id>
<content type='text'>
The probe() function prints "pm_runtime_get_sync failed" when
j721e_pcie_ctrl_init() returns an error. This is misleading since
the failure is not from pm_runtime, but from the controller init
routine. Update the error message to correctly reflect the source.

No functional changes.

Fixes: f3e25911a430 ("PCI: j721e: Add TI J721E PCIe driver")
Signed-off-by: Alok Tiwari &lt;alok.a.tiwari@oracle.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Reviewed-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
Link: https://patch.msgid.link/20250905211436.3048282-1-alok.a.tiwari@oracle.com
</content>
</entry>
<entry>
<title>PCI: sg2042: Add Sophgo SG2042 PCIe driver</title>
<updated>2025-09-19T18:22:27+00:00</updated>
<author>
<name>Chen Wang</name>
<email>unicorn_wang@outlook.com</email>
</author>
<published>2025-09-12T02:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1c72774df028429836eec3394212f2921bb830fc'/>
<id>urn:sha1:1c72774df028429836eec3394212f2921bb830fc</id>
<content type='text'>
Add support for PCIe controller in Sophgo SG2042 SoC. The controller uses
the Cadence PCIe core programmed by pcie-cadence* common driver. The PCIe
controller in SG2042 works in host mode only, supporting data rate up to 16
GT/s and lanes up to x16 or x8.

Signed-off-by: Chen Wang &lt;unicorn_wang@outlook.com&gt;
[mani: reworded description and minor code cleanups]
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://patch.msgid.link/01b0a57cd9dba8bed7c1f2d52997046c2c6f042b.1757643388.git.unicorn_wang@outlook.com
</content>
</entry>
</feed>
