eb83cda770
During large USB transfer it's pretty common to call ep_write whereas the previous TX transfer is not achieved and so the TX FIFO space is not available. Sleeping 20ms in this case introduce a relatively high latency and reduce the throughput. This can be observed when pinging the board with CDC-ECM net class. ping reply is split into 2 USB TX transfer, the second one is only triggered after 20ms, making ping latency > 20ms. To fix this, just continuously read the FIFO availabilty and fire TX as soon as possible. Signed-off-by: Loic Poulain <loic.poulain@linaro.org> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Kconfig | ||
usb_dc_dw.c | ||
usb_dc_stm32.c | ||
usb_dw_registers.h |