diff mbox

Status of chipidea msm USB reset patch

Message ID CA+bK7J55xzQ-TYssLtDi7ftBW7VOz2j47xrdQnGOVrE6fJhxPw@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tim Bird Aug. 14, 2014, 4:53 p.m. UTC
Ping.  Anybody know the status of this patch?  Is it queued in someone's tree?
Without it the USB driver for the Qualcomm 8974 (hsusb phy) doesn't
work (at least for me).
It looks like it got dropped from Ivan's original patch series, back in May.

---------- Forwarded message ----------
From: Tim Bird <tbird20d@gmail.com>
Date: Fri, Jul 25, 2014 at 2:38 PM
Subject: Status of chipidea msm USB reset patch
To: linux-arm-msm@vger.kernel.org, balbi@ti.com, "Ivan T. Ivanov"
<iivanov@mm-sol.com>


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");
--
1.8.2.2
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Felipe Balbi Aug. 14, 2014, 4:54 p.m. UTC | #1
Hi,

On Thu, Aug 14, 2014 at 09:53:10AM -0700, Tim Bird wrote:
> Ping.  Anybody know the status of this patch?  Is it queued in someone's tree?
> Without it the USB driver for the Qualcomm 8974 (hsusb phy) doesn't
> work (at least for me).
> It looks like it got dropped from Ivan's original patch series, back in May.

I don't maintain chipidea, Peter's the guy you want

> 
> ---------- Forwarded message ----------
> From: Tim Bird <tbird20d@gmail.com>
> Date: Fri, Jul 25, 2014 at 2:38 PM
> Subject: Status of chipidea msm USB reset patch
> To: linux-arm-msm@vger.kernel.org, balbi@ti.com, "Ivan T. Ivanov"
> <iivanov@mm-sol.com>
> 
> 
> 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(-)
> 
> 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:
>   dev_dbg(dev, "unknown ci_hdrc event\n");
> --
> 1.8.2.2
Peter Chen Aug. 15, 2014, 12:23 a.m. UTC | #2
On Thu, Aug 14, 2014 at 11:54:02AM -0500, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Aug 14, 2014 at 09:53:10AM -0700, Tim Bird wrote:
> > Ping.  Anybody know the status of this patch?  Is it queued in someone's tree?
> > Without it the USB driver for the Qualcomm 8974 (hsusb phy) doesn't
> > work (at least for me).
> > It looks like it got dropped from Ivan's original patch series, back in May.
> 
> I don't maintain chipidea, Peter's the guy you want

Below patch was not at msm chipidea patchset Ivan sent me.

http://markmail.org/search/?q=%5BPATCH+v4+0%2F3%5D+usb%3A+chipidea%3A+msm%3A+Clean+and+fix+#query:%5BPATCH%20v4%200%2F3%5D%20usb%3A%20chipidea%3A%20msm%3A%20Clean%20and%20fix%20from%3A%22Ivan%20T.%20Ivanov%22+page:1+mid:mt7hgr7yamyzegg3+state:results

Peter
> 
> > 
> > ---------- Forwarded message ----------
> > From: Tim Bird <tbird20d@gmail.com>
> > Date: Fri, Jul 25, 2014 at 2:38 PM
> > Subject: Status of chipidea msm USB reset patch
> > To: linux-arm-msm@vger.kernel.org, balbi@ti.com, "Ivan T. Ivanov"
> > <iivanov@mm-sol.com>
> > 
> > 
> > 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(-)
> > 
> > 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:
> >   dev_dbg(dev, "unknown ci_hdrc event\n");
> > --
> > 1.8.2.2
> 
> -- 
> balbi
Ivan T. Ivanov Aug. 15, 2014, 7:08 a.m. UTC | #3
On Fri, 2014-08-15 at 08:23 +0800, Peter Chen wrote:
> On Thu, Aug 14, 2014 at 11:54:02AM -0500, Felipe Balbi wrote:
> > Hi,
> > 
> > On Thu, Aug 14, 2014 at 09:53:10AM -0700, Tim Bird wrote:
> > > Ping.  Anybody know the status of this patch?  Is it queued in someone's tree?
> > > Without it the USB driver for the Qualcomm 8974 (hsusb phy) doesn't
> > > work (at least for me).
> > > It looks like it got dropped from Ivan's original patch series, back in May.
> > 
> > I don't maintain chipidea, Peter's the guy you want
> 
> Below patch was not at msm chipidea patchset Ivan sent me.
> 
> http://markmail.org/search/?q=%5BPATCH+v4+0%2F3%5D+usb%3A+chipidea%3A+msm%3A+Clean+and+fix+#query:%5BPATCH%20v4%200%2F3%5D%20usb%3A%20chipidea%3A%20msm%3A%20Clean%20and%20fix%20from%3A%22Ivan%20T.%20Ivanov%22+page:1+mid:mt7hgr7yamyzegg3+state:results
> 


My fault. I have waiting PHY patches to be accepted to send this one.
Will rebase and resend.

Ivan

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
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: