Messages in this thread |  | | Date | Mon, 11 Nov 2013 21:59:32 +0800 | From | Peter Chen <> | Subject | Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state |
| |
On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote: > From: "Ivan T. Ivanov" <iivanov@mm-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@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 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"
> 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.
--
Best Regards, Peter Chen
|  |