Linux PCI subsystem development
 help / color / mirror / Atom feed
* [PATCH] PCI: rockchip-host: Enable async probe by default
@ 2026-11-03  6:07 Igor Velkov via B4 Relay
  2026-11-03  6:09 ` sashiko-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Igor Velkov via B4 Relay @ 2026-11-03  6:07 UTC (permalink / raw)
  To: Shawn Lin, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Manivannan Sadhasivam, Bjorn Helgaas, Heiko Stuebner
  Cc: Rob Herring, linux-pci, linux-rockchip, linux-arm-kernel,
	linux-kernel, Igor Velkov

From: Igor Velkov <iav@iav.lv>

The probe waits for the link to come up, and with an empty slot it
holds the deferred-probe worker for about 0.7 s. On ROCK Pi 4 with
UHS-I enabled for the SD card, the I/O-domain driver then binds only
after the card has switched to 1.8 V, and tuning fails ("All phases
bad!").

Probe asynchronously, as commit c0e1eb441b1d ("PCI: qcom: Enable async
probe by default") does for the Qualcomm host driver. This does not
order the I/O domain before dw_mmc in general; an explicit dependency
was proposed in [1] and not merged.

Link: https://lore.kernel.org/all/20230904115816.1237684-1-s.hauer@pengutronix.de/ [1]
Signed-off-by: Igor Velkov <iav@iav.lv>
---
Tested on v7.3.1 with the Armbian rockchip64 config (PCIE_ROCKCHIP_HOST=y):
- ROCK Pi 4A, empty slot, UHS-I DT change posted separately: SDR104 on
  3 of 3 cold boots; without this patch tuning fails.
- Kobol Helios64, JMB585 in the slot: link, SATA and disk reads OK
  over 3 cold boots and a reboot.
---
 drivers/pci/controller/pcie-rockchip-host.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controller/pcie-rockchip-host.c
index 5b071bdc4f90..1e1556e436b8 100644
--- a/drivers/pci/controller/pcie-rockchip-host.c
+++ b/drivers/pci/controller/pcie-rockchip-host.c
@@ -1027,6 +1027,7 @@ static struct platform_driver rockchip_pcie_driver = {
 		.name = "rockchip-pcie",
 		.of_match_table = rockchip_pcie_of_match,
 		.pm = &rockchip_pcie_pm_ops,
+		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 	},
 	.probe = rockchip_pcie_probe,
 	.remove = rockchip_pcie_remove,

---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261103-rockchip-pcie-async-42c1c3863617

Best regards,
-- 
Igor Velkov <iav@iav.lv>



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] PCI: rockchip-host: Enable async probe by default
  2026-11-03  6:07 [PATCH] PCI: rockchip-host: Enable async probe by default Igor Velkov via B4 Relay
@ 2026-11-03  6:09 ` sashiko-bot
  0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-11-03  6:09 UTC (permalink / raw)
  To: Igor Velkov; +Cc: linux-pci

> From: Igor Velkov <iav@iav.lv>
> 
> The probe waits for the link to come up, and with an empty slot it
> holds the deferred-probe worker for about 0.7 s. On ROCK Pi 4 with
> UHS-I enabled for the SD card, the I/O-domain driver then binds only
> after the card has switched to 1.8 V, and tuning fails ("All phases
> bad!").
> 
> Probe asynchronously, as commit c0e1eb441b1d ("PCI: qcom: Enable async
> probe by default") does for the Qualcomm host driver. This does not
> order the I/O domain before dw_mmc in general; an explicit dependency
> was proposed in [1] and not merged.
> 
> Link: https://lore.kernel.org/all/20230904115816.1237684-1-s.hauer@pengutronix.de/ [1]
> Signed-off-by: Igor Velkov <iav@iav.lv>

Sashiko has reviewed this patch and found no issues.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261103-rockchip-pcie-async-v1-1-4dcadb94af64@iav.lv?part=1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-03  6:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-03  6:07 [PATCH] PCI: rockchip-host: Enable async probe by default Igor Velkov via B4 Relay
2026-11-03  6:09 ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox