public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] OMAP: MUSB plat_uds.c fix
@ 2007-05-21  7:37 Pandita, Vikram
  2007-05-23  6:20 ` [RESUBMIT PATCH] " Pandita, Vikram
  0 siblings, 1 reply; 3+ messages in thread
From: Pandita, Vikram @ 2007-05-21  7:37 UTC (permalink / raw)
  To: linux-omap-open-source


Fix plat_uds.c for proper registers to be cleared for disabling
interrupts

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>

---
diff -purN -X ./dontdiff a/drivers/usb/musb/plat_uds.c
b/drivers/usb/musb/plat_uds.c
--- a/drivers/usb/musb/plat_uds.c	2007-05-21 12:32:53.000000000
+0530
+++ b/drivers/usb/musb/plat_uds.c	2007-05-21 12:55:41.000000000
+0530
@@ -494,6 +494,9 @@ static irqreturn_t musb_stage0_irq(struc
 			// REVISIT HNP; just force disconnect
 		}
 		pThis->bDelayPortPowerOff = FALSE;
+		musb_writew(pBase, MGC_O_HDRC_INTRTXE, pThis->wEndMask);
+		musb_writew(pBase, MGC_O_HDRC_INTRRXE, pThis->wEndMask &
0xfffe);
+		musb_writeb(pBase, MGC_O_HDRC_INTRUSBE, 0xf7);
 #endif
 		pThis->port1_status &= ~(USB_PORT_STAT_LOW_SPEED
 					|USB_PORT_STAT_HIGH_SPEED
@@ -741,8 +744,8 @@ static void musb_generic_disable(struct 
 
 	/* disable interrupts */
 	musb_writeb(pBase, MGC_O_HDRC_INTRUSBE, 0);
-	musb_writew(pBase, MGC_O_HDRC_INTRTX, 0);
-	musb_writew(pBase, MGC_O_HDRC_INTRRX, 0);
+	musb_writew(pBase, MGC_O_HDRC_INTRTXE, 0);
+	musb_writew(pBase, MGC_O_HDRC_INTRRXE, 0);
 
 	/* off */
 	musb_writeb(pBase, MGC_O_HDRC_DEVCTL, 0);
@@ -1312,7 +1315,7 @@ static int __init musb_core_init(u16 wTy
 
 
/*----------------------------------------------------------------------
---*/
 
-#ifdef CONFIG_ARCH_OMAP2430
+#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430)
 
 static irqreturn_t generic_interrupt(int irq, void *__hci)
 {
@@ -1780,6 +1783,7 @@ musb_init_controller(struct device *dev,
 
 	/* be sure interrupts are disabled before connecting ISR */
 	musb_platform_disable(pThis);
+	musb_generic_disable(pThis);
 
 	/* setup musb parts of the core (especially endpoints) */
 	status = musb_core_init(plat->multipoint

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

* [RESUBMIT PATCH] OMAP: MUSB plat_uds.c fix
  2007-05-21  7:37 [PATCH] OMAP: MUSB plat_uds.c fix Pandita, Vikram
@ 2007-05-23  6:20 ` Pandita, Vikram
  2007-05-25 22:03   ` Tony Lindgren
  0 siblings, 1 reply; 3+ messages in thread
From: Pandita, Vikram @ 2007-05-23  6:20 UTC (permalink / raw)
  To: linux-omap-open-source

[Resubmitting patch after line wrap removal]
Fix plat_uds.c for proper registers to be cleared for disabling
interrupts

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>

---
diff -purN -X ./dontdiff a/drivers/usb/musb/plat_uds.c
b/drivers/usb/musb/plat_uds.c
--- a/drivers/usb/musb/plat_uds.c	2007-05-21 12:57:45.000000000
+0530
+++ b/drivers/usb/musb/plat_uds.c	2007-05-23 11:37:14.000000000
+0530
@@ -494,6 +494,9 @@ static irqreturn_t musb_stage0_irq(struc
 			// REVISIT HNP; just force disconnect
 		}
 		pThis->bDelayPortPowerOff = FALSE;
+		musb_writew(pBase, MGC_O_HDRC_INTRTXE, pThis->wEndMask);
+		musb_writew(pBase, MGC_O_HDRC_INTRRXE, pThis->wEndMask &
0xfffe);
+		musb_writeb(pBase, MGC_O_HDRC_INTRUSBE, 0xf7);
 #endif
 		pThis->port1_status &= ~(USB_PORT_STAT_LOW_SPEED
 					|USB_PORT_STAT_HIGH_SPEED
@@ -741,8 +744,8 @@ static void musb_generic_disable(struct 
 
 	/* disable interrupts */
 	musb_writeb(pBase, MGC_O_HDRC_INTRUSBE, 0);
-	musb_writew(pBase, MGC_O_HDRC_INTRTX, 0);
-	musb_writew(pBase, MGC_O_HDRC_INTRRX, 0);
+	musb_writew(pBase, MGC_O_HDRC_INTRTXE, 0);
+	musb_writew(pBase, MGC_O_HDRC_INTRRXE, 0);
 
 	/* off */
 	musb_writeb(pBase, MGC_O_HDRC_DEVCTL, 0);
@@ -1312,7 +1315,7 @@ static int __init musb_core_init(u16 wTy
 
 
/*----------------------------------------------------------------------
---*/
 
-#ifdef CONFIG_ARCH_OMAP2430
+#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430)
 
 static irqreturn_t generic_interrupt(int irq, void *__hci)
 {
@@ -1780,6 +1783,7 @@ musb_init_controller(struct device *dev,
 
 	/* be sure interrupts are disabled before connecting ISR */
 	musb_platform_disable(pThis);
+	musb_generic_disable(pThis);
 
 	/* setup musb parts of the core (especially endpoints) */
 	status = musb_core_init(plat->multipoint
@@ -1997,7 +2001,6 @@ static struct platform_driver musb_drive
 		.bus		= &platform_bus_type,
 		.owner		= THIS_MODULE,
 	},
-	.probe		= musb_probe,
 	.remove		= __devexit_p(musb_remove),
 	.shutdown	= musb_shutdown,
 	.suspend	= musb_suspend,

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

* Re: [RESUBMIT PATCH] OMAP: MUSB plat_uds.c fix
  2007-05-23  6:20 ` [RESUBMIT PATCH] " Pandita, Vikram
@ 2007-05-25 22:03   ` Tony Lindgren
  0 siblings, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2007-05-25 22:03 UTC (permalink / raw)
  To: Pandita, Vikram; +Cc: linux-omap-open-source

* Pandita, Vikram <vikram.pandita@ti.com> [070522 23:25]:
> [Resubmitting patch after line wrap removal]
> Fix plat_uds.c for proper registers to be cleared for disabling
> interrupts

Thanks, pushing today.

Tony

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

end of thread, other threads:[~2007-05-25 22:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-21  7:37 [PATCH] OMAP: MUSB plat_uds.c fix Pandita, Vikram
2007-05-23  6:20 ` [RESUBMIT PATCH] " Pandita, Vikram
2007-05-25 22:03   ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox