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

Commit 15920a69 authored by Pratham Pratap's avatar Pratham Pratap Committed by Gerrit - the friendly Code Review server
Browse files

usb: phy: snps: Enable auto-resume during host mode bus suspend



Currently driver is enabling auto-resume irrespective of whether
peripheral is connected to the host or not. Adding PHY flags before
enabling auto-resume ensures that some peripheral must have been
connected before bus suspend. This change enables auto-resume only
during host mode real bus suspend.

Change-Id: Ifed2f0a773ace31738628a988062f96e92efad44
Signed-off-by: default avatarPratham Pratap <prathampratap@codeaurora.org>
parent 1c0ece44
Loading
Loading
Loading
Loading
+17 −9
Original line number Diff line number Diff line
@@ -487,7 +487,15 @@ static int msm_hsphy_set_suspend(struct usb_phy *uphy, int suspend)
	if (suspend) { /* Bus suspend */
		if (phy->cable_connected ||
			(phy->phy.flags & PHY_HOST_MODE)) {
			/* Enable auto-resume functionality by pulsing signal */
			/* Enable auto-resume functionality only when
			 * there is some peripheral connected and real
			 * bus suspend happened
			 */
			if ((phy->phy.flags & PHY_HSFS_MODE) ||
				(phy->phy.flags & PHY_LS_MODE)) {
				/* Enable auto-resume functionality by pulsing
				 * signal
				 */
				msm_usb_write_readback(phy->base,
					USB2_PHY_USB_PHY_HS_PHY_CTRL2,
					USB2_AUTO_RESUME, USB2_AUTO_RESUME);
@@ -495,7 +503,7 @@ static int msm_hsphy_set_suspend(struct usb_phy *uphy, int suspend)
				msm_usb_write_readback(phy->base,
					USB2_PHY_USB_PHY_HS_PHY_CTRL2,
					USB2_AUTO_RESUME, 0);

			}
			msm_hsphy_enable_clocks(phy, false);
		} else {/* Cable disconnect */
			mutex_lock(&phy->phy_lock);