Skip to content

Commit

Permalink
can: m_can: m_can_chip_config(): actually enable internal timestamping
Browse files Browse the repository at this point in the history
In commit df06fd6 ("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/[email protected]
Fixes: df06fd6 ("can: m_can: m_can_chip_config(): enable and configure internal timestamps")
Cc: <[email protected]> # 5.13
Cc: Torin Cooper-Bennun <[email protected]>
Reviewed-by: Chandrasekar Ramakrishnan <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
  • Loading branch information
marckleinebudde committed Jul 4, 2022
1 parent 562fed9 commit 5b12933
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/net/can/m_can/m_can.c
Original file line number Diff line number Diff line change
Expand Up @@ -1351,7 +1351,9 @@ static void m_can_chip_config(struct net_device *dev)
/* enable internal timestamp generation, with a prescalar of 16. The
* 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);

Expand Down

0 comments on commit 5b12933

Please sign in to comment.