On Wed, Jun 03, 2026 at 03:05:11PM +0200, Sebastian Andrzej Siewior wrote: >The primary interrupt handler (imx_mu_isr()) no longer invokes any >callbacks it only masks the interrupt source and returns. In a >forced-threaded environment the IRQ-core will force-thread the primary >handler which can be avoided. > >The primary handler uses a spinlock_t to protect the RMW operation in >imx_mu_xcr_rmw() - nothing that may introduce long latencies. > >The lock can be turned into a raw_spinlock_t and then the primary >handler can run in hardirq context even on PREEMPT_RT skipping one >thread. > >Make struct imx_mu_priv::xcr_lock a raw_spinlock_t and skip >force-threading the primrary handler by marking it IRQF_NO_THREAD. > >Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Reviewed-by: Peng Fan <[email protected]>

