#ifndef __API_DEBUG_INTERNAL_H__ #define __API_DEBUG_INTERNAL_H__ #include "debug.h" #define __pr(func, fmt, ...) \ do { \ if ((func)) \ (func)("libapi: " fmt, ##__VA_ARGS__); \ } while (0) extern libapi_print_fn_t __pr_warning; extern libapi_print_fn_t __pr_info; extern libapi_print_fn_t __pr_debug; #define pr_warning(fmt, ...) __pr(__pr_warning, fmt, ##__VA_ARGS__) #define pr_info(fmt, ...) __pr(__pr_info, fmt, ##__VA_ARGS__) #define pr_debug(fmt, ...) __pr(__pr_debug, fmt, ##__VA_ARGS__) #endif /* __API_DEBUG_INTERNAL_H__ */ t' title='net-next.git Git repository'/>
summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2014-09-23 15:28:21 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2017-02-06 15:13:24 +0100
commit3abbac0b5dd3e3b3dfb30a4885cdde5c20e1cb83 (patch)
tree8517ce1aabaa92c0d810797a66fb97f3177e6085 /drivers
parentd254586c34538c0014280806c5d4795697cf21e5 (diff)
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>
Diffstat (limited to 'drivers')