From: "Chandrasekar R" <rcsekar@samsung.com>
To: "'Marc Kleine-Budde'" <mkl@pengutronix.de>, <linux-can@vger.kernel.org>
Cc: <kernel@pengutronix.de>,
"'Torin Cooper-Bennun'" <torin@maxiluxsystems.com>
Subject: RE: [PATCH] can: m_can: m_can_{read_fifo,echo_tx_event}(): shift timestamp to full 32 bits
Date: Mon, 13 Jun 2022 11:59:04 +0530 [thread overview]
Message-ID: <001001d87eee$e23f8700$a6be9500$@samsung.com> (raw)
In-Reply-To: <20220612211410.4081390-1-mkl@pengutronix.de>
> -----Original Message-----
> From: Marc Kleine-Budde [mailto:mkl@pengutronix.de]
> Sent: Monday, June 13, 2022 2:44 AM
> To: linux-can@vger.kernel.org
> Cc: kernel@pengutronix.de; Marc Kleine-Budde <mkl@pengutronix.de>;
> Torin Cooper-Bennun <torin@maxiluxsystems.com>; Chandrasekar
> Ramakrishnan <rcsekar@samsung.com>
> Subject: [PATCH] can: m_can: m_can_{read_fifo,echo_tx_event}(): shift
> timestamp to full 32 bits
>
> In commit 1be37d3b0414 ("can: m_can: fix periph RX path: use rx-offload to
> ensure skbs are sent from softirq context") the RX path for peripheral
> devices was switched to RX-offload.
>
> Received CAN frames are pushed to RX-offload together with a timestamp.
> RX-offload is designed to handle overflows of the timestamp correctly, if
32
> bit timestamps are provided.
>
> The timestamps of m_can core are only 16 bits wide. So this patch shifts
> them to full 32 bit before passing them to RX-offload.
>
> Fixes: 1be37d3b0414 ("can: m_can: fix periph RX path: use rx-offload to
> ensure skbs are sent from softirq context")
> Cc: Torin Cooper-Bennun <torin@maxiluxsystems.com>
> Cc: Chandrasekar Ramakrishnan <rcsekar@samsung.com>
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Changes looks fine,
Reviewed-by: Chandrasekar Ramakrishnan <rcsekar@samsung.com>
> ---
> drivers/net/can/m_can/m_can.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/can/m_can/m_can.c
> b/drivers/net/can/m_can/m_can.c index 03a22d493cf6..7931f9c71ef3 100644
> --- a/drivers/net/can/m_can/m_can.c
> +++ b/drivers/net/can/m_can/m_can.c
> @@ -529,7 +529,7 @@ static int m_can_read_fifo(struct net_device *dev,
> u32 rxfs)
> /* acknowledge rx fifo 0 */
> m_can_write(cdev, M_CAN_RXF0A, fgi);
>
> - timestamp = FIELD_GET(RX_BUF_RXTS_MASK, fifo_header.dlc);
> + timestamp = FIELD_GET(RX_BUF_RXTS_MASK, fifo_header.dlc) <<
> 16;
>
> m_can_receive_skb(cdev, skb, timestamp);
>
> @@ -1030,7 +1030,7 @@ static int m_can_echo_tx_event(struct net_device
> *dev)
> }
>
> msg_mark = FIELD_GET(TX_EVENT_MM_MASK, txe);
> - timestamp = FIELD_GET(TX_EVENT_TXTS_MASK, txe);
> + timestamp = FIELD_GET(TX_EVENT_TXTS_MASK, txe) << 16;
>
> /* ack txe element */
> m_can_write(cdev, M_CAN_TXEFA,
> FIELD_PREP(TXEFA_EFAI_MASK,
> --
> 2.35.1
>
prev parent reply other threads:[~2022-06-13 6:30 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220612211422epcas5p2d7e6e78a0ef6b61bf7871a90e5b7ffb1@epcas5p2.samsung.com>
2022-06-12 21:14 ` [PATCH] can: m_can: m_can_{read_fifo,echo_tx_event}(): shift timestamp to full 32 bits Marc Kleine-Budde
2022-06-13 6:29 ` Chandrasekar R [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='001001d87eee$e23f8700$a6be9500$@samsung.com' \
--to=rcsekar@samsung.com \
--cc=kernel@pengutronix.de \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=torin@maxiluxsystems.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.