Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ae54812 authored by Pratham Pratap's avatar Pratham Pratap
Browse files

usb: dwc3-msm: Collapse GDSC in host mode bus suspend



Currently driver is not turning off GDSC regulator as part of
LPM entry in host mode bus suspend. There is a requirement to
collapse GDSC as well to allow controller collapse in host mode
bus suspend.

Change-Id: I898553fbfb2c7931046d838a66abf8d9e7b72edb
Signed-off-by: default avatarPratham Pratap <prathampratap@codeaurora.org>
parent 06c68199
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1345,6 +1345,8 @@ struct dwc3 {
	 */
	bool			host_poweroff_in_pm_suspend;
	int			retries_on_error;
	/*  If true, GDSC collapse will happen in HOST mode bus suspend */
	bool			gdsc_collapse_in_host_suspend;
};

#define INCRX_BURST_MODE 0
+6 −1
Original line number Diff line number Diff line
@@ -2547,7 +2547,8 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc, bool force_power_collapse)

	/* Perform controller power collapse */
	if (!(mdwc->in_host_mode || mdwc->in_device_mode) ||
	      mdwc->in_restart || force_power_collapse) {
	      mdwc->in_restart || force_power_collapse ||
	      (dwc->gdsc_collapse_in_host_suspend && mdwc->in_host_mode)) {
		mdwc->lpm_flags |= MDWC3_POWER_COLLAPSE;
		dev_dbg(mdwc->dev, "%s: power collapse\n", __func__);
		dwc3_msm_config_gdsc(mdwc, 0);
@@ -3767,6 +3768,10 @@ static int dwc3_msm_probe(struct platform_device *pdev)
	if (of_property_read_bool(node, "qcom,disable-dev-mode-pm"))
		pm_runtime_get_noresume(mdwc->dev);

	if (of_property_read_bool(node,
				"qcom,gdsc-collapse-in-host-suspend"))
		dwc->gdsc_collapse_in_host_suspend = true;

	ret = of_property_read_u32(node, "qcom,pm-qos-latency",
				&mdwc->pm_qos_latency);
	if (ret) {