linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] usb: chipidea: msm: Use USB PHY API to control PHY state
@ 2014-08-25 12:26 Ivan T. Ivanov
  2014-08-25 12:26 ` [PATCH 2/2] usb: chipidea: msm: Initialize PHY on reset event Ivan T. Ivanov
  0 siblings, 1 reply; 3+ messages in thread
From: Ivan T. Ivanov @ 2014-08-25 12:26 UTC (permalink / raw)
  To: Peter Chen
  Cc: Ivan T. Ivanov, Greg Kroah-Hartman, balbi, linux-usb,
	linux-kernel

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>
Acked-by: Felipe Balbi <balbi@ti.com>
---
 drivers/usb/chipidea/ci_hdrc_msm.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
index d72b9d2..30bdd51 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -20,7 +20,6 @@
 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:
@@ -34,10 +33,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.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] usb: chipidea: msm: Initialize PHY on reset event
  2014-08-25 12:26 [PATCH 1/2] usb: chipidea: msm: Use USB PHY API to control PHY state Ivan T. Ivanov
@ 2014-08-25 12:26 ` Ivan T. Ivanov
  2014-08-26  9:15   ` Peter Chen
  0 siblings, 1 reply; 3+ messages in thread
From: Ivan T. Ivanov @ 2014-08-25 12:26 UTC (permalink / raw)
  To: Peter Chen
  Cc: Ivan T. Ivanov, Greg Kroah-Hartman, balbi, linux-usb,
	linux-kernel

Initialize USB PHY after every Link controller reset

Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
---
 drivers/usb/chipidea/ci_hdrc_msm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
index 30bdd51..4935ac3 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -26,6 +26,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned 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");
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] usb: chipidea: msm: Initialize PHY on reset event
  2014-08-25 12:26 ` [PATCH 2/2] usb: chipidea: msm: Initialize PHY on reset event Ivan T. Ivanov
@ 2014-08-26  9:15   ` Peter Chen
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Chen @ 2014-08-26  9:15 UTC (permalink / raw)
  To: Ivan T. Ivanov; +Cc: Greg Kroah-Hartman, balbi, linux-usb, linux-kernel

On Mon, Aug 25, 2014 at 03:26:01PM +0300, Ivan T. Ivanov wrote:
> Initialize USB PHY after every Link controller reset
> 
> Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
> ---
>  drivers/usb/chipidea/ci_hdrc_msm.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
> index 30bdd51..4935ac3 100644
> --- a/drivers/usb/chipidea/ci_hdrc_msm.c
> +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
> @@ -26,6 +26,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned 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");
> -- 
> 1.9.1
> 

Both have applied, thanks.

-- 
Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-08-26  9:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-25 12:26 [PATCH 1/2] usb: chipidea: msm: Use USB PHY API to control PHY state Ivan T. Ivanov
2014-08-25 12:26 ` [PATCH 2/2] usb: chipidea: msm: Initialize PHY on reset event Ivan T. Ivanov
2014-08-26  9:15   ` Peter Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).