drivers: serial: Use microseconds to represent timeout
Updated uart_rx_enable() and uart_tx() to use timeout given in microseconds. Previously argument was given in milliseconds. However, there are cases when milliseconds granularity is not enough and can significantly reduce a throughput, e.g. 1ms is 100 bytes at 1Mb. Updated 4 drivers which implement asynchronous API. Updated places where API was used. Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
parent
cc69ca1a9b
commit
c590b3545a
8 changed files with 64 additions and 58 deletions
|
@ -808,10 +808,10 @@ static inline void async_evt_rx_buf_release(struct uart_stm32_data *data)
|
|||
static inline void async_timer_start(struct k_work_delayable *work,
|
||||
int32_t timeout)
|
||||
{
|
||||
if ((timeout != SYS_FOREVER_MS) && (timeout != 0)) {
|
||||
if ((timeout != SYS_FOREVER_US) && (timeout != 0)) {
|
||||
/* start timer */
|
||||
LOG_DBG("async timer started for %d ms", timeout);
|
||||
k_work_reschedule(work, K_MSEC(timeout));
|
||||
LOG_DBG("async timer started for %d us", timeout);
|
||||
k_work_reschedule(work, K_USEC(timeout));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue