usb: dwc2: Allow entering clock gating from USB_SUSPEND interrupt
If core doesn't support hibernation or partial power down power saving options, power can still be saved using clock gating on all the clocks. - Added entering clock gating state from USB_SUSPEND interrupt. Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com> Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@synopsys.com> Link: https://lore.kernel.org/r/20210413073623.65355A022E@mailhost.synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
79c87c3c37
commit
cbe1e903e5
|
@ -529,14 +529,18 @@ static void dwc2_handle_usb_suspend_intr(struct dwc2_hsotg *hsotg)
|
|||
/* Ask phy to be suspended */
|
||||
if (!IS_ERR_OR_NULL(hsotg->uphy))
|
||||
usb_phy_set_suspend(hsotg->uphy, true);
|
||||
}
|
||||
|
||||
if (hsotg->hw_params.hibernation) {
|
||||
} else if (hsotg->hw_params.hibernation) {
|
||||
ret = dwc2_enter_hibernation(hsotg, 0);
|
||||
if (ret && ret != -ENOTSUPP)
|
||||
dev_err(hsotg->dev,
|
||||
"%s: enter hibernation failed\n",
|
||||
__func__);
|
||||
} else {
|
||||
/*
|
||||
* If not hibernation nor partial power down are supported,
|
||||
* clock gating is used to save power.
|
||||
*/
|
||||
dwc2_gadget_enter_clock_gating(hsotg);
|
||||
}
|
||||
skip_power_saving:
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue