Browse Source

usb: dwc3: dwc3-omap: Disable/Enable only wrapper interrupts in prepare/complete

The dwc3 wrapper driver should not be fiddling with the core interrupts.
Disabling the core interrupts in prepare stops xhci from proper operation.
So remove disable/enable of core interrupts from prepare/complete.

Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
George Cherian 11 years ago
parent
commit
02dae36aa6
1 changed files with 13 additions and 2 deletions
  1. 13 2
      drivers/usb/dwc3/dwc3-omap.c

+ 13 - 2
drivers/usb/dwc3/dwc3-omap.c

@@ -599,7 +599,7 @@ static int dwc3_omap_prepare(struct device *dev)
 {
 {
 	struct dwc3_omap	*omap = dev_get_drvdata(dev);
 	struct dwc3_omap	*omap = dev_get_drvdata(dev);
 
 
-	dwc3_omap_disable_irqs(omap);
+	dwc3_omap_write_irqmisc_set(omap, 0x00);
 
 
 	return 0;
 	return 0;
 }
 }
@@ -607,8 +607,19 @@ static int dwc3_omap_prepare(struct device *dev)
 static void dwc3_omap_complete(struct device *dev)
 static void dwc3_omap_complete(struct device *dev)
 {
 {
 	struct dwc3_omap	*omap = dev_get_drvdata(dev);
 	struct dwc3_omap	*omap = dev_get_drvdata(dev);
+	u32			reg;
 
 
-	dwc3_omap_enable_irqs(omap);
+	reg = (USBOTGSS_IRQMISC_OEVT |
+			USBOTGSS_IRQMISC_DRVVBUS_RISE |
+			USBOTGSS_IRQMISC_CHRGVBUS_RISE |
+			USBOTGSS_IRQMISC_DISCHRGVBUS_RISE |
+			USBOTGSS_IRQMISC_IDPULLUP_RISE |
+			USBOTGSS_IRQMISC_DRVVBUS_FALL |
+			USBOTGSS_IRQMISC_CHRGVBUS_FALL |
+			USBOTGSS_IRQMISC_DISCHRGVBUS_FALL |
+			USBOTGSS_IRQMISC_IDPULLUP_FALL);
+
+	dwc3_omap_write_irqmisc_set(omap, reg);
 }
 }
 
 
 static int dwc3_omap_suspend(struct device *dev)
 static int dwc3_omap_suspend(struct device *dev)