<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/pci/controller/cadence/pcie-cadence-host.c, branch docs-fixes</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-fixes</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-fixes'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2026-04-09T18:28:03+00:00</updated>
<entry>
<title>PCI: cadence: Add flags for disabling ASPM capability for broken Root Ports</title>
<updated>2026-04-09T18:28:03+00:00</updated>
<author>
<name>Yao Zi</name>
<email>me@ziyao.cc</email>
</author>
<published>2026-04-05T15:41:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5ccc76a87f1ec2422811e61be44165bfc9e7cf54'/>
<id>urn:sha1:5ccc76a87f1ec2422811e61be44165bfc9e7cf54</id>
<content type='text'>
Add flags for disabling the ASPM L0s/L1 capability for broken Root Ports
by clearing the corresponding bits in Link Capabilities Register through
the local management bus. This allows ASPM to be disabled on platforms
which don't support it.

Signed-off-by: Yao Zi &lt;me@ziyao.cc&gt;
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Tested-by: Han Gao &lt;gaohan@iscas.ac.cn&gt;
Tested-by: Chen Wang &lt;unicorn_wang@outlook.com&gt; # Pioneerbox
Reviewed-by: Chen Wang &lt;unicorn_wang@outlook.com&gt;
Link: https://patch.msgid.link/20260405154154.46829-2-me@ziyao.cc
</content>
</entry>
<entry>
<title>PCI: cadence: Move PCIe RP common functions to a separate file</title>
<updated>2025-11-14T17:28:30+00:00</updated>
<author>
<name>Manikandan K Pillai</name>
<email>mpillai@cadence.com</email>
</author>
<published>2025-11-08T14:02:58+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b80a7b4713c967479752ea4801eb1d1933093f58'/>
<id>urn:sha1:b80a7b4713c967479752ea4801eb1d1933093f58</id>
<content type='text'>
Move the Cadence PCIe controller RP common functions into a separate file.
The common library functions are split from legacy PCIe RP controller
functions to a separate file.

Signed-off-by: Manikandan K Pillai &lt;mpillai@cadence.com&gt;
[mani: removed the unused variable]
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://patch.msgid.link/20251108140305.1120117-4-hans.zhang@cixtech.com
</content>
</entry>
<entry>
<title>PCI: cadence: Check for the existence of cdns_pcie::ops before using it</title>
<updated>2025-09-19T18:09:38+00:00</updated>
<author>
<name>Chen Wang</name>
<email>unicorn_wang@outlook.com</email>
</author>
<published>2025-09-12T02:36:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=49a6c160ad4812476f8ae1a8f4ed6d15adfa6c09'/>
<id>urn:sha1:49a6c160ad4812476f8ae1a8f4ed6d15adfa6c09</id>
<content type='text'>
cdns_pcie::ops might not be populated by all the Cadence glue drivers. This
is going to be true for the upcoming Sophgo platform which doesn't set the
ops.

Hence, add a check to prevent NULL pointer dereference.

Signed-off-by: Chen Wang &lt;unicorn_wang@outlook.com&gt;
[mani: reworded subject and description]
Signed-off-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://patch.msgid.link/35182ee1d972dfcd093a964e11205efcebbdc044.1757643388.git.unicorn_wang@outlook.com
</content>
</entry>
<entry>
<title>PCI: cadence-host: Introduce cdns_pcie_host_disable() helper for cleanup</title>
<updated>2025-06-02T21:02:37+00:00</updated>
<author>
<name>Siddharth Vadapalli</name>
<email>s-vadapalli@ti.com</email>
</author>
<published>2025-04-17T12:44:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=47f25da6c5ea55494f4de5ca1ecf6c456b4b3e2a'/>
<id>urn:sha1:47f25da6c5ea55494f4de5ca1ecf6c456b4b3e2a</id>
<content type='text'>
Introduce the helper function cdns_pcie_host_disable() which will undo
the configuration performed by cdns_pcie_host_setup(). Also, export it
for use by existing callers of cdns_pcie_host_setup(), thereby allowing
them to cleanup on their exit path.

Signed-off-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://patch.msgid.link/20250417124408.2752248-3-s-vadapalli@ti.com
</content>
</entry>
<entry>
<title>PCI: cadence: Add support to build pcie-cadence library as a kernel module</title>
<updated>2025-06-02T21:02:33+00:00</updated>
<author>
<name>Kishon Vijay Abraham I</name>
<email>kishon@ti.com</email>
</author>
<published>2025-04-17T12:44:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f876904e44360449e64e2d38c428eba3a03d7a47'/>
<id>urn:sha1:f876904e44360449e64e2d38c428eba3a03d7a47</id>
<content type='text'>
Currently, the Cadence PCIe controller driver can be built as a built-in
module only. Since PCIe functionality is not a necessity for booting, add
support to build the Cadence PCIe driver as a loadable module as well.

Signed-off-by: Kishon Vijay Abraham I &lt;kishon@ti.com&gt;
Signed-off-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://patch.msgid.link/20250417124408.2752248-2-s-vadapalli@ti.com
</content>
</entry>
<entry>
<title>PCI: cadence: Fix runtime atomic count underflow</title>
<updated>2025-04-23T07:11:32+00:00</updated>
<author>
<name>Hans Zhang</name>
<email>18255117159@163.com</email>
</author>
<published>2025-04-19T13:30:58+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8805f32a96d3b97cef07999fa6f52112678f7e65'/>
<id>urn:sha1:8805f32a96d3b97cef07999fa6f52112678f7e65</id>
<content type='text'>
If the call to pci_host_probe() in cdns_pcie_host_setup() fails, PM
runtime count is decremented in the error path using pm_runtime_put_sync().
But the runtime count is not incremented by this driver, but only by the
callers (cdns_plat_pcie_probe/j721e_pcie_probe). And the callers also
decrement the runtime PM count in their error path. So this leads to the
below warning from the PM core:

	"runtime PM usage count underflow!"

So fix it by getting rid of pm_runtime_put_sync() in the error path and
directly return the errno.

Fixes: 49e427e6bdd1 ("Merge branch 'pci/host-probe-refactor'")
Signed-off-by: Hans Zhang &lt;18255117159@163.com&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://patch.msgid.link/20250419133058.162048-1-18255117159@163.com
</content>
</entry>
<entry>
<title>PCI: cadence: Set cdns_pcie_host_init() global</title>
<updated>2024-09-03T18:27:14+00:00</updated>
<author>
<name>Thomas Richard</name>
<email>thomas.richard@bootlin.com</email>
</author>
<published>2024-06-19T10:15:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=063c938928dc80c2bfd66f34df48344db22e009b'/>
<id>urn:sha1:063c938928dc80c2bfd66f34df48344db22e009b</id>
<content type='text'>
During the resume sequence of the host, cdns_pcie_host_init() needs to be
called, so set it global.

The dev function parameter is removed, as it isn't used.

Link: https://lore.kernel.org/linux-pci/20240102-j7200-pcie-s2r-v7-2-a2f9156da6c3@bootlin.com
Signed-off-by: Thomas Richard &lt;thomas.richard@bootlin.com&gt;
Signed-off-by: Krzysztof Wilczyński &lt;kwilczynski@kernel.org&gt;
Reviewed-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
</content>
</entry>
<entry>
<title>PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()</title>
<updated>2024-09-03T18:27:12+00:00</updated>
<author>
<name>Thomas Richard</name>
<email>thomas.richard@bootlin.com</email>
</author>
<published>2024-06-19T10:15:09+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d1b6f2e2ce4d8b17d9f3558c98a1517b864bfd03'/>
<id>urn:sha1:d1b6f2e2ce4d8b17d9f3558c98a1517b864bfd03</id>
<content type='text'>
The function cdns_pcie_host_setup() mixes probe structure and link setup.

The link setup must be done during the resume sequence. So extract it from
cdns_pcie_host_setup() and create a dedicated function.

Link: https://lore.kernel.org/linux-pci/20240102-j7200-pcie-s2r-v7-1-a2f9156da6c3@bootlin.com
Signed-off-by: Thomas Richard &lt;thomas.richard@bootlin.com&gt;
Signed-off-by: Krzysztof Wilczyński &lt;kwilczynski@kernel.org&gt;
Reviewed-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
</content>
</entry>
<entry>
<title>PCI: cadence: Fix Gen2 Link Retraining process</title>
<updated>2023-05-08T07:16:57+00:00</updated>
<author>
<name>Siddharth Vadapalli</name>
<email>s-vadapalli@ti.com</email>
</author>
<published>2023-03-15T07:08:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0e12f830236928b6fadf40d917a7527f0a048d2f'/>
<id>urn:sha1:0e12f830236928b6fadf40d917a7527f0a048d2f</id>
<content type='text'>
The Link Retraining process is initiated to account for the Gen2 defect in
the Cadence PCIe controller in J721E SoC. The errata corresponding to this
is i2085, documented at:
https://www.ti.com/lit/er/sprz455c/sprz455c.pdf

The existing workaround implemented for the errata waits for the Data Link
initialization to complete and assumes that the link retraining process
at the Physical Layer has completed. However, it is possible that the
Physical Layer training might be ongoing as indicated by the
PCI_EXP_LNKSTA_LT bit in the PCI_EXP_LNKSTA register.

Fix the existing workaround, to ensure that the Physical Layer training
has also completed, in addition to the Data Link initialization.

Link: https://lore.kernel.org/r/20230315070800.1615527-1-s-vadapalli@ti.com
Fixes: 4740b969aaf5 ("PCI: cadence: Retrain Link to work around Gen2 training defect")
Signed-off-by: Siddharth Vadapalli &lt;s-vadapalli@ti.com&gt;
Signed-off-by: Lorenzo Pieralisi &lt;lpieralisi@kernel.org&gt;
Reviewed-by: Vignesh Raghavendra &lt;vigneshr@ti.com&gt;
</content>
</entry>
<entry>
<title>PCI: cadence: Allow PTM Responder to be enabled</title>
<updated>2022-05-12T21:03:05+00:00</updated>
<author>
<name>Christian Gmeiner</name>
<email>christian.gmeiner@gmail.com</email>
</author>
<published>2022-05-12T05:55:38+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a1f67bc131c3935f325513cd153249fdbc22ac5b'/>
<id>urn:sha1:a1f67bc131c3935f325513cd153249fdbc22ac5b</id>
<content type='text'>
This enables the Controller [RP] to automatically respond with
Response/ResponseD messages if CDNS_PCIE_LM_TPM_CTRL_PTMRSEN
and PCI_PTM_CTRL_ENABLE bits are both set.

Link: https://lore.kernel.org/r/20220512055539.1782437-1-christian.gmeiner@gmail.com
Signed-off-by: Christian Gmeiner &lt;christian.gmeiner@gmail.com&gt;
Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
</content>
</entry>
</feed>
