diff options
| author | Ha Thach <[email protected]> | 2020-04-25 17:52:46 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-04-25 17:52:46 +0700 |
| commit | f1ecda392ffcc0c114269c3b6c318a2d0a50e2f5 (patch) | |
| tree | f13eb8eda69a1313ed46b636360b9e8ec879b382 /src | |
| parent | c59fa774274b13790a3ae0fc19d9651eeba560ab (diff) | |
| parent | b949ae596f72213788a7a762d2a8af696f64b3d0 (diff) | |
Merge pull request #378 from kasjer/kasjer/synopsys-txfe-interrup-loop
synopsys: Reduce interrupt time for IN ZLP
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/st/synopsys/dcd_synopsys.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/portable/st/synopsys/dcd_synopsys.c b/src/portable/st/synopsys/dcd_synopsys.c index 66ef44cf3..9c1672220 100644 --- a/src/portable/st/synopsys/dcd_synopsys.c +++ b/src/portable/st/synopsys/dcd_synopsys.c @@ -372,7 +372,10 @@ bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t * buffer, uint16_t in_ep[epnum].DIEPTSIZ = (num_packets << USB_OTG_DIEPTSIZ_PKTCNT_Pos) | \ ((total_bytes & USB_OTG_DIEPTSIZ_XFRSIZ_Msk) << USB_OTG_DIEPTSIZ_XFRSIZ_Pos); in_ep[epnum].DIEPCTL |= USB_OTG_DIEPCTL_EPENA | USB_OTG_DIEPCTL_CNAK; - dev->DIEPEMPMSK |= (1 << epnum); + // Enable fifo empty interrupt only if there are something to put in the fifo. + if(total_bytes != 0) { + dev->DIEPEMPMSK |= (1 << epnum); + } } else { // Each complete packet for OUT xfers triggers XFRC. out_ep[epnum].DOEPTSIZ |= (1 << USB_OTG_DOEPTSIZ_PKTCNT_Pos) | \ |
