It enables hibernation if the function is set in coreConsultant.

Suggested-by: Felipe Balbi <ba...@ti.com>
Signed-off-by: Huang Rui <ray.hu...@amd.com>
Signed-off-by: Felipe Balbi <ba...@ti.com>
---
 drivers/usb/dwc3/core.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index fa396fc..5a47482 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -447,8 +447,14 @@ static int dwc3_core_init(struct dwc3 *dwc)
                        reg &= ~DWC3_GCTL_DSBLCLKGTNG;
                break;
        case DWC3_GHWPARAMS1_EN_PWROPT_HIB:
-               /* enable hibernation here */
                dwc->nr_scratch = DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(hwparams4);
+               /*
+                * Enable hibernation here.
+                *
+                * Enabling this bit so that host-mode hibernation will
+                * work, device-mode hibernation is not implemented yet.
+                */
+               reg |= DWC3_GCTL_GBLHIBERNATIONEN;
                break;
        default:
                dev_dbg(dwc->dev, "No power optimization available\n");
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to