mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
c5a1fbca6f
commit
02dae36aa6
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue