]> git.baikalelectronics.ru Git - kernel.git/commit
can: rx-offload: Add support for timestamp based irq offloading
authorMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 23 Sep 2014 13:28:21 +0000 (15:28 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 6 Feb 2017 14:13:24 +0000 (15:13 +0100)
commita4c1f876e63ccacc953f1a3ef6f7af9a09509e18
tree8517ce1aabaa92c0d810797a66fb97f3177e6085
parenta5c0ee5020404e1684a60a11d65d11c1bb31d017
can: rx-offload: Add support for timestamp based irq offloading

Some CAN controllers don't implement a FIFO in hardware, but fill their
mailboxes in a particular order (from lowest to highest or highest to lowest).
This makes problems to read the frames in the correct order from the hardware,
as new frames might be filled into just read (low) mailboxes. This gets worse,
when following new frames are received into not read (higher) mailboxes.

On the bright side some these CAN controllers put a timestamp on each received
CAN frame. This patch adds support to offload CAN frames in interrupt context,
order them by timestamp and then transmitted in a NAPI context.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/rx-offload.c
include/linux/can/rx-offload.h