On Fri, Sep 29, 2023 at 04:12:54PM +0200, Markus Schneider-Pargmann wrote: > m_can offers the possibility to set an interrupt on reaching a watermark > level in the receive FIFO. This can be used to implement coalescing. > Unfortunately there is no hardware timeout available to trigger an > interrupt if only a few messages were received within a given time. To > solve this I am using a hrtimer to wake up the irq thread after x > microseconds. > > The timer is always started if receive coalescing is enabled and new > received frames were available during an interrupt. The timer is stopped > if during a interrupt handling no new data was available. > > If the timer is started the new item interrupt is disabled and the > watermark interrupt takes over. If the timer is not started again, the > new item interrupt is enabled again, notifying the handler about every > new item received. > > Signed-off-by: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx> Reviewed-by: Simon Horman <horms@xxxxxxxxxx>