]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bus: mhi: host: pci_generic: Switch to async power up to avoid boot delays
authorQiang Yu <qiang.yu@oss.qualcomm.com>
Tue, 3 Mar 2026 09:02:13 +0000 (01:02 -0800)
committerManivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Fri, 6 Mar 2026 07:40:41 +0000 (13:10 +0530)
Some modem devices can take significant time (up to 20 secs for sdx75) to
enter mission mode during initialization. Currently, mhi_sync_power_up()
waits for this entire process to complete, blocking other driver probes
and delaying system boot.

Switch to mhi_async_power_up() so probe can return immediately while MHI
initialization continues in the background. This eliminates lengthy boot
delays and allows other drivers to probe in parallel, improving overall
system boot performance.

Fixes: 5571519009d0 ("bus: mhi: host: pci_generic: Add SDX75 based modem support")
Signed-off-by: Qiang Yu <qiang.yu@oss.qualcomm.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260303-b4-async_power_on-v2-1-d3db81eb457d@oss.qualcomm.com
drivers/bus/mhi/host/pci_generic.c

index 6609715f34317b925a7521bd10ae43cad14b18ce..b6b8ea3a11f3f05df07038a2339c2fe502a6e4bd 100644 (file)
@@ -1417,7 +1417,7 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                goto err_unregister;
        }
 
-       err = mhi_sync_power_up(mhi_cntrl);
+       err = mhi_async_power_up(mhi_cntrl);
        if (err) {
                dev_err(&pdev->dev, "failed to power up MHI controller\n");
                goto err_unprepare;