lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20231005195812.549776-37-mkl@pengutronix.de> Date: Thu, 5 Oct 2023 21:58:11 +0200 From: Marc Kleine-Budde <mkl@...gutronix.de> To: netdev@...r.kernel.org Cc: davem@...emloft.net, kuba@...nel.org, linux-can@...r.kernel.org, kernel@...gutronix.de, Marc Kleine-Budde <mkl@...gutronix.de> Subject: [PATCH net-next 36/37] can: at91_can: at91_alloc_can_err_skb() introduce new function This is a preparation patch to convert the driver to make use of the rx-offload helper. With rx-offload the received CAN frames are sorted by their timestamp. Regular CAN RX'ed and TX'ed CAN frames are timestamped by the hardware. Error events are not. Introduce a new function at91_alloc_can_err_skb() the allocates an error SKB and reads the current timestamp from the controller. Link: https://lore.kernel.org/all/20231005-at91_can-rx_offload-v2-26-9987d53600e0@pengutronix.de Signed-off-by: Marc Kleine-Budde <mkl@...gutronix.de> --- drivers/net/can/at91_can.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c index d5e1d1b2cdd1..ca62aa027e5f 100644 --- a/drivers/net/can/at91_can.c +++ b/drivers/net/can/at91_can.c @@ -576,6 +576,22 @@ static inline void at91_activate_rx_mb(const struct at91_priv *priv, at91_write(priv, AT91_TCR, mask); } +static inline u32 at91_get_timestamp(const struct at91_priv *priv) +{ + return at91_read(priv, AT91_TIM); +} + +static inline struct sk_buff * +at91_alloc_can_err_skb(struct net_device *dev, + struct can_frame **cf, u32 *timestamp) +{ + const struct at91_priv *priv = netdev_priv(dev); + + *timestamp = at91_get_timestamp(priv); + + return alloc_can_err_skb(dev, cf); +} + /** * at91_rx_overflow_err - send error frame due to rx overflow * @dev: net device -- 2.40.1
Powered by blists - more mailing lists