zephyr/drivers
Peter McGaughey 3104ad0e39 drivers: serial: uart_sam0: fix uart_sam0_irq_update TXC reset
drivers: serial: uart_sam0: fix uart_sam0_irq_update TXC reset bug

uart_sam0_irq_update function resets flags that will cause int. re-entry
existing implementation also clears the TXC flag if it is set
this breaks transmit complete detection

Per the SAMD5x/E5x Datasheet Sect. 34.8.6, writing '1' to the TXC will
clear the flag and disable TX complete interrupts, this should be
preserved through the irq_update for use in the tx_complete check function

The proper fix will cache the TXC value before conditionally clearing the
flag based on that cached value. If you do not condition this on the
cached value a race condition will periodically occur where
the TXC is cleared but never cached.

Fixes zephyrproject-rtos#55386

Signed-off-by: Peter McGaughey <peter.mcgaughey@daikincomfort.com>
2023-06-13 15:09:28 -04:00
..
adc drivers: adc: ads1x1x: fix pga enum comment 2023-05-31 10:35:53 +02:00
audio
auxdisplay drivers: auxdisplay: Fix rows/columns inversion 2023-06-09 13:23:36 -04:00
bbram device: remove redundant init functions 2023-04-19 10:00:25 +02:00
bluetooth drivers/bluetooth/hci: enable BT_SILABS_HCI on EFR32BG27 2023-05-26 05:54:40 -04:00
cache barriers: Move __ISB() to the new API 2023-05-24 13:13:57 -04:00
can drivers: can: mcan: remove excessive debug on register access 2023-06-12 07:28:57 -04:00
clock_control drivers/clock_control: SAM PMC missing soc.h 2023-06-13 06:57:33 -04:00
console drivers: Console: Move all posix arch boards to same driver 2023-05-26 12:57:41 +02:00
coredump
counter barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
crypto dts: arm: stm32h5: Add aes node 2023-05-16 18:19:26 +02:00
dac drivers: dac: make output buffer for STM32 DAC configurable 2023-05-23 13:02:25 +02:00
dai intel_adsp: cavs25: configure access to ALH 2023-05-30 10:50:02 -04:00
disk drivers: disk: sdmmc_stm32 support for clock divisor 2023-04-12 17:44:48 +02:00
display drivers: display: enable direct framebuffer rendering with DCNANO LCDIF 2023-05-26 10:21:34 -05:00
dma drivers: dma_mcux_lpc: Fix potential NULL pointer dereferences 2023-06-07 13:38:19 -04:00
edac shell: fix MISRA 5.7 violations on struct shell 2023-04-14 12:21:08 +02:00
eeprom drivers: all: mchp_xec: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
entropy drivers: entropy: Make entropy_stm32.c clang compatible 2023-05-31 14:41:25 -04:00
espi intc: miwu: npcx: improve interrupt latency of miwu input events 2023-05-17 09:48:54 +02:00
ethernet drivers: phy: add adin2111 2023-05-26 09:50:09 -04:00
flash drivers: flash: flash_mcux_flexspi_*: copy LUT to ram when updating 2023-05-25 21:37:18 -05:00
fpga drivers: spi: make SPI dt-spec macros compatible with C++ 2023-04-24 21:29:55 +02:00
fuel_gauge drivers: fixed div by zero when reading max17048 2023-06-02 18:51:25 -04:00
gpio drivers: gpio: pca95xx: check gpio_add_callback() return value 2023-06-13 06:56:24 -04:00
hwinfo drivers: hwinfo: esp32_net: add support for esp32_net 2023-04-28 14:49:08 +02:00
i2c driver: npcx: i2c: set a dedicated priority for the port driver 2023-05-26 14:08:12 -04:00
i2s drivers: mcux_i2s: Use the DMA reload flag 2023-05-26 10:05:24 -04:00
i3c drivers: i3c: mcux: fix issues when only i2c devices are on the bus 2023-05-17 09:34:31 -05:00
ieee802154 drivers: ieee802154: rf2xx: Check gpio_add_callback return 2023-06-01 18:04:08 -04:00
input input: check for gpio_add_callback error codes. 2023-06-01 06:33:27 -04:00
interrupt_controller riscv: Rename Kconfig symbol to *_PRIVILEGED 2023-06-09 11:46:29 -04:00
ipm barriers: Move __DSB() to the new API 2023-05-24 13:13:57 -04:00
kscan input: convert the Nuvoton npcx keyboard scan driver to input 2023-05-18 09:32:33 +02:00
led drivers: led: shell: Correct command help of set_brightness 2023-04-24 16:29:30 +02:00
led_strip drivers: led_strip: apa102: add multi instances support 2023-05-31 10:23:22 +01:00
lora drivers: lora: shell: fix invalid range in config bw param 2023-05-25 08:22:08 +00:00
mbox
mdio drivers: mdio: shell: support adin2111 2023-05-26 09:50:09 -04:00
memc drivers: memc: add update clock function 2023-05-22 10:15:03 +02:00
mfd drivers: mfd: npm6001: initial version 2023-05-24 19:39:55 -04:00
mipi_dsi drivers: display: update MCUX ELCDIF driver to use new lcdif binding 2023-05-11 10:04:24 +02:00
misc drivers: misc: Add driver for RaspberryPi Pico PIO 2023-04-25 13:12:02 +02:00
mm xtensa: use sys_cache API instead of custom interfaces 2023-04-26 07:31:22 -04:00
modem drivers: modem: modem_receiver: fix wake PM 2023-06-01 10:04:14 -04:00
net
neural_net xtensa: use sys_cache API instead of custom interfaces 2023-04-26 07:31:22 -04:00
pcie iterable_sections: move to specific header 2023-05-22 10:42:30 +02:00
peci drivers: all: mchp_xec: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
pinctrl drivers: pinctrl_emsdp: fix definition location 2023-06-13 07:02:08 -04:00
pm_cpu_ops
power_domain
ps2 drivers: all: mchp_xec: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
ptp_clock
pwm drivers: pwm: pwm_mcux: improve resolution by writing match register 2023-06-13 06:56:53 -04:00
regulator drivers: regulator: pca9420: fix support for DVS modes 2023-06-07 05:48:11 -04:00
reset device: remove redundant init functions 2023-04-19 10:00:25 +02:00
retained_mem retention: Add optional mutex disablement 2023-04-24 13:27:53 +02:00
rtc drivers: rtc: rtc_mc146818: Added RTC driver for Motorola MC146818B 2023-04-27 14:15:22 +02:00
sdhc drivers: sdhc: add support for using CPOL/CPHA SPI clock modes 2023-04-26 20:07:53 +02:00
sensor drivers: sensor: mcp970x: fix temperature conversion 2023-06-01 13:44:28 -04:00
serial drivers: serial: uart_sam0: fix uart_sam0_irq_update TXC reset 2023-06-13 15:09:28 -04:00
sip_svc subsystem: sip_svc: Add ARM SiP SVC subsystem 2023-05-09 08:46:50 -04:00
smbus doc: smbus: Correct syntax in sources and headers 2023-06-01 18:04:58 -04:00
spi drivers: spi: stm32h7: add a small delay after enabling 2023-06-05 10:48:59 -04:00
syscon
timer riscv_machine_timer: remove unused config option 2023-06-01 04:53:19 -04:00
usb drivers: usb_mcux: Fix disable and reset functions 2023-06-09 11:45:55 -04:00
usb_c
video video: mt9m114: YUV pixel format support 2023-05-19 15:45:50 +02:00
virtualization drivers: virtualization: Add implementation for ivshmem-v2 2023-05-14 18:17:33 -04:00
w1 drivers: w1: Make 1-Wire Skip ROM cmd. optional 2023-05-19 16:29:35 +02:00
watchdog drivers: watchdog: Add the OpenTitan watchdog driver 2023-05-26 09:45:25 -04:00
wifi driver: wifi: esp32: add wifi statistics info 2023-05-11 10:05:04 +02:00
xen barriers: Move __DMB() to the new API 2023-05-24 13:13:57 -04:00
CMakeLists.txt drivers: auxdisplay: Add noritake itron VFD auxiliary display 2023-05-26 23:05:58 +02:00
Kconfig drivers: auxdisplay: Add noritake itron VFD auxiliary display 2023-05-26 23:05:58 +02:00