usb: dwc2: gadget: In DDMA keep incompISOOUT and incompISOIN masked
authorVahram Aharonyan <vahrama@synopsys.com>
Tue, 15 Nov 2016 03:16:38 +0000 (19:16 -0800)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Fri, 18 Nov 2016 11:54:47 +0000 (13:54 +0200)
In DDMA mode incompISOOUT should be masked, similar as Bulk Out -
XferCompl and BNA should be handled. incompISOIN is not valid in DDMA
and is not getting asserted.

Signed-off-by: Vahram Aharonyan <vahrama@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc2/gadget.c

index c32520d18d39ae5d6bcf9b7f43dd6a4479056074..f7d27b66890e3246270920d5a7f51ea1a8b6554a 100644 (file)
@@ -2880,8 +2880,10 @@ void dwc2_hsotg_core_init_disconnected(struct dwc2_hsotg *hsotg,
                GINTSTS_GOUTNAKEFF | GINTSTS_GINNAKEFF |
                GINTSTS_USBRST | GINTSTS_RESETDET |
                GINTSTS_ENUMDONE | GINTSTS_OTGINT |
-               GINTSTS_USBSUSP | GINTSTS_WKUPINT |
-               GINTSTS_INCOMPL_SOIN | GINTSTS_INCOMPL_SOOUT;
+               GINTSTS_USBSUSP | GINTSTS_WKUPINT;
+
+       if (!using_desc_dma(hsotg))
+               intmsk |= GINTSTS_INCOMPL_SOIN | GINTSTS_INCOMPL_SOOUT;
 
        if (hsotg->params.external_id_pin_ctl <= 0)
                intmsk |= GINTSTS_CONIDSTSCHNG;