[PATCH v14 1/5] docs: driver-api: gpio: rpmsg gpio driver over rpmsg bus

Andrew Lunn andrew at lunn.ch
Tue Jul 14 13:13:18 PDT 2026


> > 1) You did not include messages that mask and unmask interrupts at the driver
> > side.
> 
> Interrupt masking and unmasking are handled entirely on the local processor.
> 
> When an interrupt occurs, the remote system masks the interrupt and then sends a notification 
> to Linux. After Linux processes the notification, it sends a SET_IRQ_TYPE message back to the 
> remote system, which then unmasks the interrupt.

Masking and unmasking an interrupt are orthogonal to the interrupt
type.

When the interrupt fires, the interrupt core calls the irq_mask()
operation on the interrupt. That should mask the interrupt. Once the
handler has finished, the interrupt core, will call irq_unmask() to
unmask the interrupt.

Edge, level, high, low, raising, falling has nothing to do with
masking. Please don't mix concepts which Linux keeps separate.

	 Andrew



More information about the linux-arm-kernel mailing list