[PATCH can-next v2 00/15] can: kvaser_usb: Add hardware timestamp support to all devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Jimmy Assarsson <jimmyassarsson@xxxxxxxxx>

This patch series add hardware timestamp support to all devices supported
by the kvaser_usb driver.

The first patches resolves a known issue; "Hardware timestamps are not set
for CAN Tx frames". I can't remember why this wasn't implemented in the
first version of the hydra driver.

Followed by, hardware timestamp support for leaf and usbcan based devices.

The final patches are removing code used for selecting the correct ethtool
and netdev ops.

Note: This patch series depends on patch
"can: kvaser_usb: Explicitly initialize family in leafimx..." [1].

[1] https://lore.kernel.org/linux-can/20240628194529.312968-1-extja@xxxxxxxxxx

Changes in v2:
- Replaced patch 3/15
  can: kvaser_usb: Add function kvaser_usb_ticks_to_ktime()
  with a new patch
  can: kvaser_usb: Add helper functions to convert device timestamp into ktime
  and put it first in this series
- Resolved Vincent MAILHOL's review comments regarding duplicated code when converting timestamps [2] [3]
- As pointed out by Vincent MAILHOL [4], the clock overflow commands is not
  dispatched in this patch
  moved code from 10/15
  can: kvaser_usb: leaf: Add structs for Tx ACK and clock overflow commands
  to 11/15
  can: kvaser_usb: leaf: Store MSB of timestamp
  where it's actually used

[2] https://lore.kernel.org/linux-can/CAMZ6RqKSa-6KjvgfmN9eL7A=A65gMkYsRrnaF41Azhsc45FA2Q@xxxxxxxxxxxxxx/
[3] https://lore.kernel.org/linux-can/CAMZ6Rq+Xd7+th=dKV+vrqzRtS+GY-xq2UziH1CURcQ3HxEXMqQ@xxxxxxxxxxxxxx/
[4] https://lore.kernel.org/linux-can/CAMZ6RqKqJX6eqogS2598BFm-AN1uOBbBGL+MkoJtR=-z379Q=w@xxxxxxxxxxxxxx/

Jimmy Assarsson (15):
  can: kvaser_usb: Add helper functions to convert device timestamp into
    ktime
  can: kvaser_usb: hydra: kvaser_usb_hydra_ktime_from_rx_cmd: Drop {rx_}
    in function name
  can: kvaser_usb: hydra: Add struct for Tx ACK commands
  can: kvaser_usb: hydra: Set hardware timestamp on transmitted packets
  can: kvaser_usb: leaf: Add struct for Tx ACK commands
  can: kvaser_usb: leaf: Assign correct timestamp_freq for
    kvaser_usb_leaf_imx_dev_cfg_{16,24,32}mhz
  can: kvaser_usb: leaf: Replace kvaser_usb_leaf_m32c_dev_cfg with
    kvaser_usb_leaf_m32c_dev_cfg_{16,24,32}mhz
  can: kvaser_usb: leaf: kvaser_usb_leaf_tx_acknowledge: Rename local
    variable
  can: kvaser_usb: leaf: Add hardware timestamp support to leaf based
    devices
  can: kvaser_usb: leaf: Add structs for Tx ACK and clock overflow
    commands
  can: kvaser_usb: leaf: Store MSB of timestamp
  can: kvaser_usb: leaf: Add hardware timestamp support to usbcan
    devices
  can: kvaser_usb: Remove KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP
  can: kvaser_usb: Remove struct variables
    kvaser_usb_{ethtool,netdev}_ops
  can: kvaser_usb: Rename kvaser_usb_{ethtool,netdev}_ops_hwts to
    kvaser_usb_{ethtool,netdev}_ops

 drivers/net/can/usb/kvaser_usb/kvaser_usb.h   |  26 +++-
 .../net/can/usb/kvaser_usb/kvaser_usb_core.c  |  21 +---
 .../net/can/usb/kvaser_usb/kvaser_usb_hydra.c |  41 +++++--
 .../net/can/usb/kvaser_usb/kvaser_usb_leaf.c  | 114 +++++++++++++++---
 4 files changed, 153 insertions(+), 49 deletions(-)

-- 
2.45.2





[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux