diff mbox

Fwd: Status of chipidea msm USB reset patch

Message ID CA+bK7J6f-0OH-EnH2HbKEo+PZUf_At1TPgqyLVRg2RUVKQC9yg@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tim Bird Sept. 4, 2014, 2:47 p.m. UTC
On Fri, Aug 15, 2014 at 12:08 AM, Ivan T. Ivanov <iivanov@mm-sol.com> wrote:
> 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.

Peter,

There appears to be no progress on this.

Can we just add the existing patch, get it into Linus' tree asap as
a bugfix (preferably in this RC cycle)? Then ask Ivan to rebase his
patches on top of this, instead of rebasing this patch as part of a
larger effort with an unclear delivery date?

Note that without this patch, the driver in mainline doesn't work at all,
so adding it couldn't possibly make mainline worse.

IMHO this should be CC:'ed to stable for the 3.16 kernel as well.  No
other files are affected, and it applies and builds on 3.16 without problems.

Please let me know.

 -- Tim Bird
Senior Software Engineer, Sony Mobile
Architecture Group Chair, CE Workgroup, Linux Foundation

Patch follows for reference:
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");

Comments

Peter Chen Sept. 5, 2014, 12:50 a.m. UTC | #1
On Thu, Sep 04, 2014 at 07:47:40AM -0700, Tim Bird wrote:
> On Fri, Aug 15, 2014 at 12:08 AM, Ivan T. Ivanov <iivanov@mm-sol.com> wrote:
> > 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.
> 
> Peter,
> 
> There appears to be no progress on this.
> 
> Can we just add the existing patch, get it into Linus' tree asap as
> a bugfix (preferably in this RC cycle)? Then ask Ivan to rebase his
> patches on top of this, instead of rebasing this patch as part of a
> larger effort with an unclear delivery date?
> 
> Note that without this patch, the driver in mainline doesn't work at all,
> so adding it couldn't possibly make mainline worse.
> 
> IMHO this should be CC:'ed to stable for the 3.16 kernel as well.  No
> other files are affected, and it applies and builds on 3.16 without problems.
> 
> Please let me know.
> 

OK, in fact, this patch is in my next chipidea next tree, and will be in 3.18-rc1.
(From the commit log, it doesn't show it is a bugfix:))
If it is a bugfix for you, I will send it go Greg.

Peter

>  -- Tim Bird
> Senior Software Engineer, Sony Mobile
> Architecture Group Chair, CE Workgroup, Linux Foundation
> 
> Patch follows for reference:
> 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 Sept. 5, 2014, 1:01 a.m. UTC | #2
On Thu, Sep 04, 2014 at 07:47:40AM -0700, Tim Bird wrote:
> On Fri, Aug 15, 2014 at 12:08 AM, Ivan T. Ivanov <iivanov@mm-sol.com> wrote:
> > 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.
> 
> Peter,
> 
> There appears to be no progress on this.
> 
> Can we just add the existing patch, get it into Linus' tree asap as
> a bugfix (preferably in this RC cycle)? Then ask Ivan to rebase his
> patches on top of this, instead of rebasing this patch as part of a
> larger effort with an unclear delivery date?
> 
> Note that without this patch, the driver in mainline doesn't work at all,
> so adding it couldn't possibly make mainline worse.
> 
> IMHO this should be CC:'ed to stable for the 3.16 kernel as well.  No
> other files are affected, and it applies and builds on 3.16 without problems.
> 

Wait, the below patch was not exactly the Ivan sent to me, it has no below
change at Ivan's recent patch
> - writel(0, USB_AHBBURST);
> - writel(0, USB_AHBMODE);

https://github.com/hzpeterchen/linux-usb/commit/be3473c05639dc84696c5e66e524ca22180cbe88
https://github.com/hzpeterchen/linux-usb/commit/b59838118bcc14a6a4ea1efec85c3452a705bfe0

Peter

> 
>  -- Tim Bird
> Senior Software Engineer, Sony Mobile
> Architecture Group Chair, CE Workgroup, Linux Foundation
> 
> Patch follows for reference:
> 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
Ivan T. Ivanov Sept. 10, 2014, 9:36 a.m. UTC | #3
On Fri, 2014-09-05 at 09:01 +0800, Peter Chen wrote:
> On Thu, Sep 04, 2014 at 07:47:40AM -0700, Tim Bird wrote:
> > On Fri, Aug 15, 2014 at 12:08 AM, Ivan T. Ivanov <iivanov@mm-sol.com> wrote:
> > > 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.
> > 
> > Peter,
> > 
> > There appears to be no progress on this.
> > 
> > Can we just add the existing patch, get it into Linus' tree asap as
> > a bugfix (preferably in this RC cycle)? Then ask Ivan to rebase his
> > patches on top of this, instead of rebasing this patch as part of a
> > larger effort with an unclear delivery date?
> > 
> > Note that without this patch, the driver in mainline doesn't work at all,
> > so adding it couldn't possibly make mainline worse.
> > 
> > IMHO this should be CC:'ed to stable for the 3.16 kernel as well.  No
> > other files are affected, and it applies and builds on 3.16 without problems.
> > 
> 
> Wait, the below patch was not exactly the Ivan sent to me, it has no below
> change at Ivan's recent patch
> > - writel(0, USB_AHBBURST);
> > - writel(0, USB_AHBMODE);
> 
> https://github.com/hzpeterchen/linux-usb/commit/be3473c05639dc84696c5e66e524ca22180cbe88
> https://github.com/hzpeterchen/linux-usb/commit/b59838118bcc14a6a4ea1efec85c3452a705bfe0


I am sorry Tim, I have forgot to Cc you in updated patches.

Regards,
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
Peter Chen Sept. 10, 2014, 10:56 a.m. UTC | #4
> On Fri, 2014-09-05 at 09:01 +0800, Peter Chen wrote:

> > On Thu, Sep 04, 2014 at 07:47:40AM -0700, Tim Bird wrote:

> > > On Fri, Aug 15, 2014 at 12:08 AM, Ivan T. Ivanov <iivanov@mm-sol.com>

> wrote:

> > > > 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+chipide

> > > >>

> a%3A+msm%3A+Clean+and+fix+#query:%5BPATCH%20v4%200%2F3%5D%20u

> sb%3

> > > >>

> A%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.

> > >

> > > Peter,

> > >

> > > There appears to be no progress on this.

> > >

> > > Can we just add the existing patch, get it into Linus' tree asap as

> > > a bugfix (preferably in this RC cycle)? Then ask Ivan to rebase his

> > > patches on top of this, instead of rebasing this patch as part of a

> > > larger effort with an unclear delivery date?

> > >

> > > Note that without this patch, the driver in mainline doesn't work at

> > > all, so adding it couldn't possibly make mainline worse.

> > >

> > > IMHO this should be CC:'ed to stable for the 3.16 kernel as well.

> > > No other files are affected, and it applies and builds on 3.16 without

> problems.

> > >

> >

> > Wait, the below patch was not exactly the Ivan sent to me, it has no

> > below change at Ivan's recent patch

> > > - writel(0, USB_AHBBURST);

> > > - writel(0, USB_AHBMODE);

> >

> > https://github.com/hzpeterchen/linux-

> usb/commit/be3473c05639dc84696c5e

> > 66e524ca22180cbe88

> > https://github.com/hzpeterchen/linux-

> usb/commit/b59838118bcc14a6a4ea1e

> > fec85c3452a705bfe0

> 

> 

> I am sorry Tim, I have forgot to Cc you in updated patches.

> 


So, the patches you sent to me were correct, right?

Peter
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: