zephyr/drivers/serial
Krzysztof Chruściński 345dd11e20 drivers: serial: uart_nrfx_uarte: Fix dropping flushed data
When rx_flush() was called with NULL buffer it was an indication to
drop data from the FIFO. However, it is still important to get the
correct amount of dropped data because when PPI+TIMER are used to
count bytes those flushed bytes are also counted (because each
byte generates RXDRDY event). If those bytes are not counted then
total amount of reported bytes is not correctly aligned with bytes
counted by TIMER.

Reworking rx_flush() to correctly count number of dropped bytes and
then add this flushed bytes to the total amount of RX bytes
reported to the user in RXTO event handler.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:10 -04:00
..
CMakeLists.txt drivers: serial: Add initial SiM3U1xx support 2024-08-26 18:51:36 +02:00
Kconfig drivers: serial: Add initial SiM3U1xx support 2024-08-26 18:51:36 +02:00
Kconfig.altera
Kconfig.altera_jtag
Kconfig.apbuart
Kconfig.b91
Kconfig.bcm2711
Kconfig.bt serial: bt: Set configurable options for the NUS Work-queue 2024-05-13 16:17:58 -04:00
Kconfig.cc13xx_cc26xx
Kconfig.cc32xx
Kconfig.cdns
Kconfig.cmsdk_apb
Kconfig.efinix_sapphire
Kconfig.emul emul: Support UART device emulation 2024-07-30 18:28:17 +01:00
Kconfig.ene drivers: uart: initial device driver for ENE KB1200 2024-03-15 09:39:48 +00:00
Kconfig.esp32 config: esp32: configurable UART FIFO thresholds 2024-07-09 15:24:02 -04:00
Kconfig.gd32
Kconfig.gecko hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
Kconfig.hostlink
Kconfig.ifx_cat1
Kconfig.imx
Kconfig.intel_lw
Kconfig.it8xxx2 drivers: serial: ns16550: fix typo 2024-08-14 09:40:00 +02:00
Kconfig.leuart_gecko
Kconfig.litex dts: bindings: litex: rename uart compatible 2024-08-02 03:32:21 -04:00
Kconfig.lpc11u6x
Kconfig.max32 drivers: Add MAX32690 uart driver 2024-05-29 07:30:12 +02:00
Kconfig.mcux
Kconfig.mcux_flexcomm
Kconfig.mcux_iuart
Kconfig.mcux_lpsci
Kconfig.mcux_lpuart soc: nxp: Select the MFD Kconfig when LPFlexcomm is enabled 2024-04-02 21:00:24 -04:00
Kconfig.miv
Kconfig.msp432p4xx
Kconfig.native_posix drivers: serial: Add name to choice symbol 2024-08-14 09:40:34 +02:00
Kconfig.native_tty uart_native_tty: Emulate an interrupt driven uart 2024-02-27 14:49:02 +01:00
Kconfig.neorv32
Kconfig.npcx drivers: uart: npcx: add asychronous API support 2024-04-26 16:13:25 +02:00
Kconfig.nrfx drivers: serial: nrf: disable legacy shim for nRF92 2024-08-22 14:24:38 -04:00
Kconfig.nrfx_uart_instance kconfig: replace known integer constants with variables 2024-07-27 20:49:15 +03:00
Kconfig.ns16550 drivers: serial: ns16550: fix typo 2024-08-14 09:40:00 +02:00
Kconfig.numaker
Kconfig.numicro
Kconfig.nxp_s32
Kconfig.opentitan
Kconfig.pl011 drivers: serial: rpi_pico: Migrate to pl011 driver 2024-04-10 10:01:25 +02:00
Kconfig.psoc6 soc: psoc6: update pinctrl for PSoC6 MCU (legacy) 2024-06-04 16:35:39 +02:00
Kconfig.ql_usbserialport_s3b
Kconfig.rcar drivers: serial: add support of hscif driver for RCar boards 2024-02-26 11:34:16 +00:00
Kconfig.renesas_ra drivers: serial: Initial support for SCI UART 2024-08-19 09:59:27 -04:00
Kconfig.renesas_ra8 driver: serial: Add serial driver support for Renesas RA8 devices 2024-06-26 13:36:14 -04:00
Kconfig.rpi_pico drivers: serial: rpi_pico: Migrate to pl011 driver 2024-04-10 10:01:25 +02:00
Kconfig.rtt
Kconfig.rv32m1_lpuart
Kconfig.rzt2m
Kconfig.sam0
Kconfig.sedi
Kconfig.si32 drivers: serial: Add initial SiM3U1xx support 2024-08-26 18:51:36 +02:00
Kconfig.sifive
Kconfig.smartbond drivers: serial: Smartbond: add support RX line wakeup 2024-05-12 17:03:17 -04:00
Kconfig.stellaris
Kconfig.stm32 drivers: stm32: Select PINCTRL when required 2024-09-03 14:40:55 +01:00
Kconfig.test
Kconfig.uart_sam
Kconfig.usart_sam
Kconfig.xec
Kconfig.xen drivers: serial: add missed binding for xen dom0 consoleio driver 2024-01-30 18:52:13 -05:00
Kconfig.xlnx
Kconfig.xmc4xxx
leuart_gecko.c everywhere: replace double words 2024-06-25 06:05:35 -04:00
serial_esp32_usb.c drivers: esp32: Interrupts flags configuration 2024-08-22 14:25:25 -04:00
serial_test.c
uart_altera_jtag.c
uart_altera.c everywhere: replace double words 2024-06-22 05:40:22 -04:00
uart_apbuart.c
uart_async_rx.c serial: uart_async_rx: Avoid possible division by zero 2024-07-27 15:14:26 +03:00
uart_async_to_irq.c drivers: serial: async_to_irq: Fix initialization 2024-09-06 11:31:10 -04:00
uart_b91.c
uart_bcm2711.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
uart_bt.c serial: bluetooth: Print warning once when ring buffer is full 2024-08-26 17:24:47 -04:00
uart_cc13xx_cc26xx.c
uart_cc32xx.c
uart_cdns.c drivers: serial: uart_cdns: fix interrupt driven 2024-07-09 19:45:18 -04:00
uart_cdns.h
uart_cmsdk_apb.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_efinix_sapphire.c
uart_emul.c emul: Support UART device emulation 2024-07-30 18:28:17 +01:00
uart_ene_kb1200.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_esp32.c drivers: esp32: Interrupts flags configuration 2024-08-22 14:25:25 -04:00
uart_gecko.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_handlers.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
uart_hostlink.c
uart_hvc_xen_consoleio.c drivers: serial: add missed binding for xen dom0 consoleio driver 2024-01-30 18:52:13 -05:00
uart_hvc_xen.c libc, console: declare __stdout_hook_install in libc-hooks.h 2024-08-01 16:49:08 +01:00
uart_ifx_cat1.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_imx.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_intel_lw.c everywhere: replace double words 2024-06-22 05:40:22 -04:00
uart_ite_it8xxx2.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_litex.c dts: bindings: litex: rename uart compatible 2024-08-02 03:32:21 -04:00
uart_lpc11u6x.c drivers: serial: lpc11u6x: allow to configure data polarity 2024-07-12 06:29:56 -04:00
uart_lpc11u6x.h drivers: serial: lpc11u6x: allow to configure data polarity 2024-07-12 06:29:56 -04:00
uart_max32.c drivers: serial: uart_max32: Fixing bugs and code optimizations 2024-07-04 08:17:27 +02:00
uart_mchp_xec.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_mcux_flexcomm.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_mcux_iuart.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_mcux_lpsci.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_mcux_lpuart.c drivers: uart: Fix build error for lpuart without modem support 2024-09-05 17:01:33 -04:00
uart_mcux.c drivers: serial: uart_mcux.c: add a feature macro wrap specific code 2024-08-02 03:31:38 -04:00
uart_miv.c
uart_msp432p4xx.c
uart_native_ptty_bottom.c
uart_native_ptty_bottom.h
uart_native_ptty.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_native_tty_bottom.c driver: uart: native: fix stop_bits/databits mix 2024-05-14 18:19:11 -04:00
uart_native_tty_bottom.h uart_native_tty: Emulate an interrupt driven uart 2024-02-27 14:49:02 +01:00
uart_native_tty.c driver: uart: native: fix stop_bits/databits mix 2024-05-14 18:19:11 -04:00
uart_neorv32.c
uart_npcx.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_nrfx_uart.c
uart_nrfx_uarte2.c drivers: serial: async_to_irq: Fix initialization 2024-09-06 11:31:10 -04:00
uart_nrfx_uarte.c drivers: serial: uart_nrfx_uarte: Fix dropping flushed data 2024-09-06 11:31:10 -04:00
uart_ns16550.c drivers: serial: ns16550: apply __maybe_unused to ns16550_out,inword 2024-08-14 09:40:00 +02:00
uart_numaker.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_numicro.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_nxp_s32_linflexd.c drivers: uart_nxp_s32_linflexed: update to RTD 2.0.0 2024-08-20 10:32:32 +02:00
uart_nxp_s32_linflexd.h
uart_opentitan.c
uart_pipe.c
uart_pl011_ambiq.h drivers: serial: UART PL011 Ambiq PM Fix 2024-08-27 10:49:38 -04:00
uart_pl011_raspberrypi_pico.h drivers: serial: rpi_pico: Migrate to pl011 driver 2024-04-10 10:01:25 +02:00
uart_pl011_registers.h drivers: serial: pl011: Fix ignored const qualifiers 2024-08-12 19:25:34 -04:00
uart_pl011.c drivers: serial: pm: Add power management support for Apollo3 SoCs UART 2024-08-20 10:32:52 +02:00
uart_psoc6.c soc: psoc6: fix build error when CONFIG_UART_INTERRUPT_DRIVEN 2024-06-12 12:50:28 -04:00
uart_ql_usbserialport_s3b.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
uart_ql_usbserialport_s3b.h
uart_rcar.c drivers: use DT_INST_NODE_HAS_COMPAT 2024-04-26 20:04:38 +01:00
uart_renesas_ra8_sci_b.c drivers: serial: Initial support for SCI UART 2024-08-19 09:59:27 -04:00
uart_renesas_ra_sci.c drivers: serial: Initial support for SCI UART 2024-08-19 09:59:27 -04:00
uart_renesas_ra.c drivers: serial: ra: reduce uart baud rate error 2024-02-04 19:55:45 -06:00
uart_rpi_pico_pio.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_rtt.c
uart_rv32m1_lpuart.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_rzt2m.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_rzt2m.h
uart_sam0.c drivers: use DT_INST_PROP over DT_INST_PROP_OR if possible 2024-01-30 00:26:58 +00:00
uart_sam.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_sedi.c
uart_si32_usart.c drivers: serial: Add initial SiM3U1xx support 2024-08-26 18:51:36 +02:00
uart_sifive.c
uart_smartbond.c drivers/smartbond: Remove atomic flags from drivers 2024-06-21 08:45:10 -04:00
uart_stellaris.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
uart_stm32.c drivers: intc: stm32: remove STM32_EXTI_LINE_NONE macro 2024-08-27 10:50:39 -04:00
uart_stm32.h
uart_xlnx_ps.c
uart_xlnx_uartlite.c
uart_xmc4xxx.c drivers: uart_xmc4xxx: Forward DMA overrun errors to user 2024-09-04 19:09:49 -04:00
usart_gd32.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00
usart_sam.c drivers: serial: remove '&' when assigning init_fn 2024-07-27 20:48:34 +03:00