Re: [PATCH v4 3/3] usb: xhci: plat: Facilitate using autosuspend for xhci plat devices

From: Peter Chen
Date: Wed Aug 13 2025 - 02:16:22 EST


On Tue, Aug 12, 2025 at 1:58 PM Krishna Kurapati
<krishna.kurapati@xxxxxxxxxxxxxxxx> wrote:
>
> Allow autosuspend to be used by xhci plat device. For Qualcomm SoCs,
> when in host mode, it is intended that the controller goes to suspend
> state to save power and wait for interrupts from connected peripheral
> to wake it up. This is particularly used in cases where a HID or Audio
> device is connected. In such scenarios, the usb controller can enter
> auto suspend and resume action after getting interrupts from the
> connected device.
>
> Signed-off-by: Krishna Kurapati <krishna.kurapati@xxxxxxxxxxxxxxxx>
> ---
> drivers/usb/host/xhci-plat.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
> index 5eb51797de32..dd57ffedcaa2 100644
> --- a/drivers/usb/host/xhci-plat.c
> +++ b/drivers/usb/host/xhci-plat.c
> @@ -171,6 +171,7 @@ int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev, const s
> return ret;
>
> pm_runtime_set_active(&pdev->dev);
> + pm_runtime_use_autosuspend(&pdev->dev);
> pm_runtime_enable(&pdev->dev);
> pm_runtime_get_noresume(&pdev->dev);
>

There is an xhci quirk XHCI_DEFAULT_PM_RUNTIME_ALLOW for it, try to use it.

Peter