Title: [9626] trunk/drivers/usb/musb/musb_core.c: [#6442] drivers:musb: waitting for 'A'device during resume
- Revision
- 9626
- Author
- lliubbo
- Date
- 2011-02-24 01:11:39 -0500 (Thu, 24 Feb 2011)
Log Message
[#6442] drivers:musb: waitting for 'A'device during resume
Blackfin musb controller can't resume without reprobe during host mode except
waitting for detected 'A'device after restore MUSB_DEVCTL.
This can reduce resume time because of no usb reprobe.
Modified Paths
Diff
Modified: trunk/drivers/usb/musb/musb_core.c (9625 => 9626)
--- trunk/drivers/usb/musb/musb_core.c 2011-02-23 07:12:42 UTC (rev 9625)
+++ trunk/drivers/usb/musb/musb_core.c 2011-02-24 06:11:39 UTC (rev 9626)
@@ -2355,6 +2355,17 @@
musb_writeb(musb_base, MUSB_INTRUSBE, musb_context.intrusbe);
musb_writeb(musb_base, MUSB_DEVCTL, musb_context.devctl);
+#ifdef CONFIG_BLACKFIN
+ /*
+ * Blackfin musb-host can't resume without reprobe if not polling for
+ * detected 'A'device.
+ */
+ if (is_host_enabled(musb)) {
+ while (musb_readb(musb_base, MUSB_DEVCTL) & MUSB_DEVCTL_BDEVICE)
+ mdelay(10);
+ }
+#endif
+
for (i = 0; i < musb->config->num_eps; ++i) {
epio = musb->endpoints[i].regs;
musb_writew(epio, MUSB_TXMAXP,
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits