Now that all the infrastructure is in place, we can
clear events in the top-half handler in order to
bring IRQ line low ASAP.
This is also a necessary step in order to implement
workaround for known erratum in follow-up patches.
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                 */
                evt->lpos = (evt->lpos + 4) % evt->length;
                left -= 4;
-
-               dwc3_writel(dwc->regs, DWC3_GEVNTCOUNT(0), 4);
        }
 
        evt->count = 0;
        if (amount < count)
                memcpy(evt->cache, evt->buf, count - amount);
 
+       dwc3_writel(dwc->regs, DWC3_GEVNTCOUNT(0), count);
+
        return IRQ_WAKE_THREAD;
 }