i2c: stm32f7: perform most of irq job in threaded handler
authorAlain Volmat <alain.volmat@foss.st.com>
Fri, 15 Dec 2023 17:06:06 +0000 (18:06 +0100)
committerWolfram Sang <wsa@kernel.org>
Thu, 18 Jan 2024 20:10:44 +0000 (21:10 +0100)
commite6103cd45ef0e14eb02f0666bc6b494902cfe821
tree083186ce9728fc0cceac02f04e67450a64b6fc0d
parenta51e224c2f42417e95a3e1a672ade221bcd006ba
i2c: stm32f7: perform most of irq job in threaded handler

The irq handling is currently split between the irq handler
and the threaded irq handler.  Some of the handling (such as
dma related stuffs) done within the irq handler might sleep or
take some time leading to issues if the kernel is built with
realtime constraints.  In order to fix that, perform an overall
rework to perform most of the job within the threaded handler
and only keep fifo access in the non threaded handler.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-stm32f7.c