From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Chen Subject: Re: Fwd: Status of chipidea msm USB reset patch Date: Fri, 5 Sep 2014 08:50:12 +0800 Message-ID: <20140905005011.GC3105@peterchendt> References: <20140814165402.GA1445@saruman.home> <20140815002339.GA2710@peterchendt> <1408086522.2695.19.camel@iivanov-dev> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Return-path: Received: from mail-by2lp0243.outbound.protection.outlook.com ([207.46.163.243]:7558 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750969AbaIEAuV (ORCPT ); Thu, 4 Sep 2014 20:50:21 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Tim Bird Cc: "Ivan T. Ivanov" , "linux-arm-msm@vger.kernel.org" , "linux-usb@vger.kernel.org" , Greg Kroah-Hartman 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 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 > --- > 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 -- Best Regards, Peter Chen