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

Commit be399317 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: phy: qusb2: Enable phy auto-resume"

parents eb76995f 541e0c61
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -63,6 +63,8 @@
#define FREEZIO_N			BIT(1)
#define POWER_DOWN			BIT(0)

#define QUSB2PHY_PORT_TEST_CTRL		0xB8

#define QUSB2PHY_PORT_UTMI_CTRL1	0xC0
#define SUSPEND_N			BIT(5)
#define TERM_SELECT			BIT(4)
@@ -988,6 +990,21 @@ static int qusb_phy_set_suspend(struct usb_phy *phy, int suspend)
			writel_relaxed(intr_mask,
				qphy->base + QUSB2PHY_PORT_INTR_CTRL);

			/* enable phy auto-resume */
			writel_relaxed(0x0C,
					qphy->base + QUSB2PHY_PORT_TEST_CTRL);
			/* flush the previous write before next write */
			wmb();
			writel_relaxed(0x04,
				qphy->base + QUSB2PHY_PORT_TEST_CTRL);


			dev_dbg(phy->dev, "%s: intr_mask = %x\n",
				__func__, intr_mask);

			/* Makes sure that above write goes through */
			wmb();

			qusb_phy_enable_clocks(qphy, false);
		} else { /* Disconnect case */
			/* Disable all interrupts */
+1 −0
Original line number Diff line number Diff line
@@ -580,6 +580,7 @@ snd_usb_audio_probe(struct usb_device *dev,
	usb_chip[chip->index] = chip;
	chip->num_interfaces++;
	chip->probing = 0;
	intf->needs_remote_wakeup = 1;
	mutex_unlock(&register_mutex);
	return chip;