Commit 41ba9b9b authored by Vardan Mikayelyan's avatar Vardan Mikayelyan Committed by Felipe Balbi

usb: dwc2: Rename hibernation to partial_power_down

No-op change, only rename.

This code was misnamed originally. It was only responsible for partial
power down and not for hibernation.

Rename core_params->hibernation to core_params->power_down,
dwc2_set_param_hibernation() to dwc2_set_param_power_down().
Signed-off-by: default avatarVardan Mikayelyan <mvardan@synopsys.com>
Signed-off-by: default avatarJohn Youn <johnyoun@synopsys.com>
Signed-off-by: default avatarGrigor Tovmasyan <tovmasya@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 7455f8b7
...@@ -128,17 +128,17 @@ static int dwc2_restore_global_registers(struct dwc2_hsotg *hsotg) ...@@ -128,17 +128,17 @@ static int dwc2_restore_global_registers(struct dwc2_hsotg *hsotg)
} }
/** /**
* dwc2_exit_hibernation() - Exit controller from Partial Power Down. * dwc2_exit_partial_power_down() - Exit controller from Partial Power Down.
* *
* @hsotg: Programming view of the DWC_otg controller * @hsotg: Programming view of the DWC_otg controller
* @restore: Controller registers need to be restored * @restore: Controller registers need to be restored
*/ */
int dwc2_exit_hibernation(struct dwc2_hsotg *hsotg, bool restore) int dwc2_exit_partial_power_down(struct dwc2_hsotg *hsotg, bool restore)
{ {
u32 pcgcctl; u32 pcgcctl;
int ret = 0; int ret = 0;
if (!hsotg->params.hibernation) if (!hsotg->params.power_down)
return -ENOTSUPP; return -ENOTSUPP;
pcgcctl = dwc2_readl(hsotg->regs + PCGCTL); pcgcctl = dwc2_readl(hsotg->regs + PCGCTL);
...@@ -182,16 +182,16 @@ int dwc2_exit_hibernation(struct dwc2_hsotg *hsotg, bool restore) ...@@ -182,16 +182,16 @@ int dwc2_exit_hibernation(struct dwc2_hsotg *hsotg, bool restore)
} }
/** /**
* dwc2_enter_hibernation() - Put controller in Partial Power Down. * dwc2_enter_partial_power_down() - Put controller in Partial Power Down.
* *
* @hsotg: Programming view of the DWC_otg controller * @hsotg: Programming view of the DWC_otg controller
*/ */
int dwc2_enter_hibernation(struct dwc2_hsotg *hsotg) int dwc2_enter_partial_power_down(struct dwc2_hsotg *hsotg)
{ {
u32 pcgcctl; u32 pcgcctl;
int ret = 0; int ret = 0;
if (!hsotg->params.hibernation) if (!hsotg->params.power_down)
return -ENOTSUPP; return -ENOTSUPP;
/* Backup all registers */ /* Backup all registers */
...@@ -220,7 +220,7 @@ int dwc2_enter_hibernation(struct dwc2_hsotg *hsotg) ...@@ -220,7 +220,7 @@ int dwc2_enter_hibernation(struct dwc2_hsotg *hsotg)
/* /*
* Clear any pending interrupts since dwc2 will not be able to * Clear any pending interrupts since dwc2 will not be able to
* clear them after entering hibernation. * clear them after entering partial_power_down.
*/ */
dwc2_writel(0xffffffff, hsotg->regs + GINTSTS); dwc2_writel(0xffffffff, hsotg->regs + GINTSTS);
......
...@@ -421,9 +421,9 @@ enum dwc2_ep0_state { ...@@ -421,9 +421,9 @@ enum dwc2_ep0_state {
* case. * case.
* 0 - No (default) * 0 - No (default)
* 1 - Yes * 1 - Yes
* @hibernation: Specifies whether the controller support hibernation. * @power_down: Specifies whether the controller support power_down.
* If hibernation is enabled, the controller will enter * If power_down is enabled, the controller will enter
* hibernation in both peripheral and host mode when * power_down in both peripheral and host mode when
* needed. * needed.
* 0 - No (default) * 0 - No (default)
* 1 - Yes * 1 - Yes
...@@ -498,7 +498,7 @@ struct dwc2_core_params { ...@@ -498,7 +498,7 @@ struct dwc2_core_params {
bool reload_ctl; bool reload_ctl;
bool uframe_sched; bool uframe_sched;
bool external_id_pin_ctl; bool external_id_pin_ctl;
bool hibernation; bool power_down;
bool lpm; bool lpm;
bool lpm_clock_gating; bool lpm_clock_gating;
bool besl; bool besl;
...@@ -1117,8 +1117,8 @@ static inline bool dwc2_is_hs_iot(struct dwc2_hsotg *hsotg) ...@@ -1117,8 +1117,8 @@ static inline bool dwc2_is_hs_iot(struct dwc2_hsotg *hsotg)
*/ */
int dwc2_core_reset(struct dwc2_hsotg *hsotg, bool skip_wait); int dwc2_core_reset(struct dwc2_hsotg *hsotg, bool skip_wait);
int dwc2_core_reset_and_force_dr_mode(struct dwc2_hsotg *hsotg); int dwc2_core_reset_and_force_dr_mode(struct dwc2_hsotg *hsotg);
int dwc2_enter_hibernation(struct dwc2_hsotg *hsotg); int dwc2_enter_partial_power_down(struct dwc2_hsotg *hsotg);
int dwc2_exit_hibernation(struct dwc2_hsotg *hsotg, bool restore); int dwc2_exit_partial_power_down(struct dwc2_hsotg *hsotg, bool restore);
bool dwc2_force_mode_if_needed(struct dwc2_hsotg *hsotg, bool host); bool dwc2_force_mode_if_needed(struct dwc2_hsotg *hsotg, bool host);
void dwc2_clear_force_mode(struct dwc2_hsotg *hsotg); void dwc2_clear_force_mode(struct dwc2_hsotg *hsotg);
......
...@@ -321,10 +321,10 @@ static void dwc2_handle_session_req_intr(struct dwc2_hsotg *hsotg) ...@@ -321,10 +321,10 @@ static void dwc2_handle_session_req_intr(struct dwc2_hsotg *hsotg)
if (dwc2_is_device_mode(hsotg)) { if (dwc2_is_device_mode(hsotg)) {
if (hsotg->lx_state == DWC2_L2) { if (hsotg->lx_state == DWC2_L2) {
ret = dwc2_exit_hibernation(hsotg, true); ret = dwc2_exit_partial_power_down(hsotg, true);
if (ret && (ret != -ENOTSUPP)) if (ret && (ret != -ENOTSUPP))
dev_err(hsotg->dev, dev_err(hsotg->dev,
"exit hibernation failed\n"); "exit power_down failed\n");
} }
/* /*
...@@ -417,16 +417,16 @@ static void dwc2_handle_wakeup_detected_intr(struct dwc2_hsotg *hsotg) ...@@ -417,16 +417,16 @@ static void dwc2_handle_wakeup_detected_intr(struct dwc2_hsotg *hsotg)
/* Clear Remote Wakeup Signaling */ /* Clear Remote Wakeup Signaling */
dctl &= ~DCTL_RMTWKUPSIG; dctl &= ~DCTL_RMTWKUPSIG;
dwc2_writel(dctl, hsotg->regs + DCTL); dwc2_writel(dctl, hsotg->regs + DCTL);
ret = dwc2_exit_hibernation(hsotg, true); ret = dwc2_exit_partial_power_down(hsotg, true);
if (ret && (ret != -ENOTSUPP)) if (ret && (ret != -ENOTSUPP))
dev_err(hsotg->dev, "exit hibernation failed\n"); dev_err(hsotg->dev, "exit power_down failed\n");
call_gadget(hsotg, resume); call_gadget(hsotg, resume);
} }
/* Change to L0 state */ /* Change to L0 state */
hsotg->lx_state = DWC2_L0; hsotg->lx_state = DWC2_L0;
} else { } else {
if (hsotg->params.hibernation) if (hsotg->params.power_down)
return; return;
if (hsotg->lx_state != DWC2_L1) { if (hsotg->lx_state != DWC2_L1) {
...@@ -497,11 +497,11 @@ static void dwc2_handle_usb_suspend_intr(struct dwc2_hsotg *hsotg) ...@@ -497,11 +497,11 @@ static void dwc2_handle_usb_suspend_intr(struct dwc2_hsotg *hsotg)
return; return;
} }
ret = dwc2_enter_hibernation(hsotg); ret = dwc2_enter_partial_power_down(hsotg);
if (ret) { if (ret) {
if (ret != -ENOTSUPP) if (ret != -ENOTSUPP)
dev_err(hsotg->dev, dev_err(hsotg->dev,
"enter hibernation failed\n"); "enter power_down failed\n");
goto skip_power_saving; goto skip_power_saving;
} }
......
...@@ -718,7 +718,7 @@ static int params_show(struct seq_file *seq, void *v) ...@@ -718,7 +718,7 @@ static int params_show(struct seq_file *seq, void *v)
print_param_hex(seq, p, ahbcfg); print_param_hex(seq, p, ahbcfg);
print_param(seq, p, uframe_sched); print_param(seq, p, uframe_sched);
print_param(seq, p, external_id_pin_ctl); print_param(seq, p, external_id_pin_ctl);
print_param(seq, p, hibernation); print_param(seq, p, power_down);
print_param(seq, p, lpm); print_param(seq, p, lpm);
print_param(seq, p, lpm_clock_gating); print_param(seq, p, lpm_clock_gating);
print_param(seq, p, besl); print_param(seq, p, besl);
......
...@@ -3527,7 +3527,7 @@ static irqreturn_t dwc2_hsotg_irq(int irq, void *pw) ...@@ -3527,7 +3527,7 @@ static irqreturn_t dwc2_hsotg_irq(int irq, void *pw)
/* This event must be used only if controller is suspended */ /* This event must be used only if controller is suspended */
if (hsotg->lx_state == DWC2_L2) { if (hsotg->lx_state == DWC2_L2) {
dwc2_exit_hibernation(hsotg, true); dwc2_exit_partial_power_down(hsotg, true);
hsotg->lx_state = DWC2_L0; hsotg->lx_state = DWC2_L0;
} }
} }
...@@ -4374,11 +4374,11 @@ static int dwc2_hsotg_vbus_session(struct usb_gadget *gadget, int is_active) ...@@ -4374,11 +4374,11 @@ static int dwc2_hsotg_vbus_session(struct usb_gadget *gadget, int is_active)
spin_lock_irqsave(&hsotg->lock, flags); spin_lock_irqsave(&hsotg->lock, flags);
/* /*
* If controller is hibernated, it must exit from hibernation * If controller is hibernated, it must exit from power_down
* before being initialized / de-initialized * before being initialized / de-initialized
*/ */
if (hsotg->lx_state == DWC2_L2) if (hsotg->lx_state == DWC2_L2)
dwc2_exit_hibernation(hsotg, false); dwc2_exit_partial_power_down(hsotg, false);
if (is_active) { if (is_active) {
hsotg->op_state = OTG_STATE_B_PERIPHERAL; hsotg->op_state = OTG_STATE_B_PERIPHERAL;
......
...@@ -3397,10 +3397,10 @@ static void dwc2_port_suspend(struct dwc2_hsotg *hsotg, u16 windex) ...@@ -3397,10 +3397,10 @@ static void dwc2_port_suspend(struct dwc2_hsotg *hsotg, u16 windex)
hsotg->bus_suspended = true; hsotg->bus_suspended = true;
/* /*
* If hibernation is supported, Phy clock will be suspended * If power_down is supported, Phy clock will be suspended
* after registers are backuped. * after registers are backuped.
*/ */
if (!hsotg->params.hibernation) { if (!hsotg->params.power_down) {
/* Suspend the Phy Clock */ /* Suspend the Phy Clock */
pcgctl = dwc2_readl(hsotg->regs + PCGCTL); pcgctl = dwc2_readl(hsotg->regs + PCGCTL);
pcgctl |= PCGCTL_STOPPCLK; pcgctl |= PCGCTL_STOPPCLK;
...@@ -3432,10 +3432,10 @@ static void dwc2_port_resume(struct dwc2_hsotg *hsotg) ...@@ -3432,10 +3432,10 @@ static void dwc2_port_resume(struct dwc2_hsotg *hsotg)
spin_lock_irqsave(&hsotg->lock, flags); spin_lock_irqsave(&hsotg->lock, flags);
/* /*
* If hibernation is supported, Phy clock is already resumed * If power_down is supported, Phy clock is already resumed
* after registers restore. * after registers restore.
*/ */
if (!hsotg->params.hibernation) { if (!hsotg->params.power_down) {
pcgctl = dwc2_readl(hsotg->regs + PCGCTL); pcgctl = dwc2_readl(hsotg->regs + PCGCTL);
pcgctl &= ~PCGCTL_STOPPCLK; pcgctl &= ~PCGCTL_STOPPCLK;
dwc2_writel(pcgctl, hsotg->regs + PCGCTL); dwc2_writel(pcgctl, hsotg->regs + PCGCTL);
...@@ -4364,7 +4364,7 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd) ...@@ -4364,7 +4364,7 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd)
if (hsotg->op_state == OTG_STATE_B_PERIPHERAL) if (hsotg->op_state == OTG_STATE_B_PERIPHERAL)
goto unlock; goto unlock;
if (!hsotg->params.hibernation) if (!hsotg->params.power_down)
goto skip_power_saving; goto skip_power_saving;
/* /*
...@@ -4378,12 +4378,12 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd) ...@@ -4378,12 +4378,12 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd)
dwc2_writel(hprt0, hsotg->regs + HPRT0); dwc2_writel(hprt0, hsotg->regs + HPRT0);
} }
/* Enter hibernation */ /* Enter partial_power_down */
ret = dwc2_enter_hibernation(hsotg); ret = dwc2_enter_partial_power_down(hsotg);
if (ret) { if (ret) {
if (ret != -ENOTSUPP) if (ret != -ENOTSUPP)
dev_err(hsotg->dev, dev_err(hsotg->dev,
"enter hibernation failed\n"); "enter partial_power_down failed\n");
goto skip_power_saving; goto skip_power_saving;
} }
...@@ -4394,7 +4394,7 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd) ...@@ -4394,7 +4394,7 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd)
spin_lock_irqsave(&hsotg->lock, flags); spin_lock_irqsave(&hsotg->lock, flags);
} }
/* After entering hibernation, hardware is no more accessible */ /* After entering partial_power_down, hardware is no more accessible */
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
skip_power_saving: skip_power_saving:
...@@ -4419,7 +4419,7 @@ static int _dwc2_hcd_resume(struct usb_hcd *hcd) ...@@ -4419,7 +4419,7 @@ static int _dwc2_hcd_resume(struct usb_hcd *hcd)
if (hsotg->lx_state != DWC2_L2) if (hsotg->lx_state != DWC2_L2)
goto unlock; goto unlock;
if (!hsotg->params.hibernation) { if (!hsotg->params.power_down) {
hsotg->lx_state = DWC2_L0; hsotg->lx_state = DWC2_L0;
goto unlock; goto unlock;
} }
...@@ -4441,10 +4441,10 @@ static int _dwc2_hcd_resume(struct usb_hcd *hcd) ...@@ -4441,10 +4441,10 @@ static int _dwc2_hcd_resume(struct usb_hcd *hcd)
spin_lock_irqsave(&hsotg->lock, flags); spin_lock_irqsave(&hsotg->lock, flags);
} }
/* Exit hibernation */ /* Exit partial_power_down */
ret = dwc2_exit_hibernation(hsotg, true); ret = dwc2_exit_partial_power_down(hsotg, true);
if (ret && (ret != -ENOTSUPP)) if (ret && (ret != -ENOTSUPP))
dev_err(hsotg->dev, "exit hibernation failed\n"); dev_err(hsotg->dev, "exit partial_power_down failed\n");
hsotg->lx_state = DWC2_L0; hsotg->lx_state = DWC2_L0;
......
...@@ -278,7 +278,7 @@ static void dwc2_set_default_params(struct dwc2_hsotg *hsotg) ...@@ -278,7 +278,7 @@ static void dwc2_set_default_params(struct dwc2_hsotg *hsotg)
p->reload_ctl = (hw->snpsid >= DWC2_CORE_REV_2_92a); p->reload_ctl = (hw->snpsid >= DWC2_CORE_REV_2_92a);
p->uframe_sched = true; p->uframe_sched = true;
p->external_id_pin_ctl = false; p->external_id_pin_ctl = false;
p->hibernation = false; p->power_down = false;
p->lpm = true; p->lpm = true;
p->lpm_clock_gating = true; p->lpm_clock_gating = true;
p->besl = true; p->besl = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment