Re: [PATCH v6 04/14] can: m_can: Implement receive coalescing
From: Simon Horman
Date: Sun Oct 01 2023 - 08:23:25 EST
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>