diff mbox

Status of chipidea msm USB reset patch

Message ID CA+bK7J7V=RJCssGquVn_NbCLzDM39m0Bgr7U-cWtShM91=-ZAg@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tim Bird July 25, 2014, 9:38 p.m. UTC
Ivan and Felipe,

Do you know the status of the patch below?  It was part of Ivan's
USB patch set, which got mainlined recently.  However, this patch
did not show up in Linus' tree.

Is it in another tree on it's way, or does it need a re-submission?

I was recently testing the MSM USB gadget driver on the Dragonboard 800
(with a Qualcomm 8974 processor), and without this patch the USB hardware
does not come up properly.

Thanks,
 -- Tim


Subject: [PATCH] usb: chipidea: msm: Use USB PHY API to control PHY state

PHY drivers keep track of the current state of the hardware,
so don't change PHY settings under it.

Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
---
 drivers/usb/chipidea/ci_hdrc_msm.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

  dev_dbg(dev, "unknown ci_hdrc event\n");
diff mbox

Patch

diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c
b/drivers/usb/chipidea/ci_hdrc_msm.c
index d72b9d2..81de834 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -20,13 +20,11 @@ 
 static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
 {
  struct device *dev = ci->gadget.dev.parent;
- int val;

  switch (event) {
  case CI_HDRC_CONTROLLER_RESET_EVENT:
  dev_dbg(dev, "CI_HDRC_CONTROLLER_RESET_EVENT received\n");
- writel(0, USB_AHBBURST);
- writel(0, USB_AHBMODE);
+ usb_phy_init(ci->transceiver);
  break;
  case CI_HDRC_CONTROLLER_STOPPED_EVENT:
  dev_dbg(dev, "CI_HDRC_CONTROLLER_STOPPED_EVENT received\n");
@@ -34,10 +32,7 @@  static void ci_hdrc_msm_notify_event(struct ci_hdrc
*ci, unsigned event)
  * Put the transceiver in non-driving mode. Otherwise host
  * may not detect soft-disconnection.
  */
- val = usb_phy_io_read(ci->transceiver, ULPI_FUNC_CTRL);
- val &= ~ULPI_FUNC_CTRL_OPMODE_MASK;
- val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
- usb_phy_io_write(ci->transceiver, val, ULPI_FUNC_CTRL);
+ usb_phy_notify_disconnect(ci->transceiver, USB_SPEED_UNKNOWN);
  break;
  default: