lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 11 Nov 2013 16:36:09 +0200
From:	"Ivan T. Ivanov" <iivanov@...sol.com>
To:	Peter Chen <peter.chen@...escale.com>
Cc:	alexander.shishkin@...ux.intel.com, gregkh@...uxfoundation.org,
	rob.herring@...xeda.com, pawel.moll@....com, mark.rutland@....com,
	swarren@...dotorg.org, ijc+devicetree@...lion.org.uk,
	davidb@...eaurora.org, linux-usb@...r.kernel.org,
	linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY
 state


Hi Peter,

On Mon, 2013-11-11 at 21:59 +0800, Peter Chen wrote: 
> On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
> > From: "Ivan T. Ivanov" <iivanov@...sol.com>
> > 
> > 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@...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 e9624f3..338b209 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);
> 
> It will reset the PHY,  but your comment is "don't change PHY settings under it"

:-). This function is exported by PHY drivers, so they will know how
to handle this change.

> 
> >  		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);
> 
> Where you have implemented .notify_disconnect?
> I have not found it at your phy driver.

Yep, I will post PHY driver changes shortly. Meanwhile this should
not break existing board file based platforms, because not of them
could be compiled (HTC Dream, Halibut Board) and DT based platforms 
are sill work in progress.

Regards,
Ivan


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ