diff options
| author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2026-06-17 09:55:31 +0300 |
|---|---|---|
| committer | Jassi Brar <jassisinghbrar@gmail.com> | 2026-06-21 05:18:38 +0300 |
| commit | 692e1bc96a5dc7d5c43d937c2a50b56303544dea (patch) | |
| tree | 51ae841378e8bfb5f403b0bdee2a5e2652ec3c15 /scripts | |
| parent | fbc0f319cee18f40ae3f8658086217c655ad2489 (diff) | |
| download | linux-692e1bc96a5dc7d5c43d937c2a50b56303544dea.tar.xz | |
mailbox: imx: Start splitting the IRQ handler in primary and threaded handler
Split the mailbox irq handling into a primary handler (imx_mu_isr()) and
a threaded handler (imx_mu_isr_th()). The primary handler masks the
interrupt event so the threaded handler can run without raising the
interrupt again.
The goal here is to invoke the mailbox core functions (such as
mbox_chan_received_data(), mbox_chan_txdone()) in preemptible context which is
made possible by using an threaded interrupt handler. This in turn means that
mailbox's client callbacks are invoked in preemptible context, too. This then
allows the mailbox client callback to skip an indirection via a workqueue if
it requries preemptible callback.
As a first step, prepare the logic and move TX handling part.
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
