Commit 5b12933d authored by Marc Kleine-Budde's avatar Marc Kleine-Budde

can: m_can: m_can_chip_config(): actually enable internal timestamping

In commit df06fd67 ("can: m_can: m_can_chip_config(): enable and
configure internal timestamps") the timestamping in the m_can core
should be enabled. In peripheral mode, the RX'ed CAN frames, TX
compete frames and error events are sorted by the timestamp.

The above mentioned commit however forgot to enable the timestamping.
Add the missing bits to enable the timestamp counter to the write of
the Timestamp Counter Configuration register.

Link: https://lore.kernel.org/all/20220612212708.4081756-1-mkl@pengutronix.de
Fixes: df06fd67 ("can: m_can: m_can_chip_config(): enable and configure internal timestamps")
Cc: <stable@vger.kernel.org> # 5.13
Cc: Torin Cooper-Bennun <torin@maxiluxsystems.com>
Reviewed-by: default avatarChandrasekar Ramakrishnan <rcsekar@samsung.com>
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 562fed94
...@@ -1351,7 +1351,9 @@ static void m_can_chip_config(struct net_device *dev) ...@@ -1351,7 +1351,9 @@ static void m_can_chip_config(struct net_device *dev)
/* enable internal timestamp generation, with a prescalar of 16. The /* enable internal timestamp generation, with a prescalar of 16. The
* prescalar is applied to the nominal bit timing * prescalar is applied to the nominal bit timing
*/ */
m_can_write(cdev, M_CAN_TSCC, FIELD_PREP(TSCC_TCP_MASK, 0xf)); m_can_write(cdev, M_CAN_TSCC,
FIELD_PREP(TSCC_TCP_MASK, 0xf) |
FIELD_PREP(TSCC_TSS_MASK, TSCC_TSS_INTERNAL));
m_can_config_endisable(cdev, false); m_can_config_endisable(cdev, false);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment