[PATCH 4.9 0/4] can: kvaser_usb: CAN clock frequency regression

Jimmy Assarsson
2022-07-08T18:46:32Z

Backport of upstream patch series [1].

Note: The patch "[PATCH 4.9 1/4] can: kvaser_usb: Add struct kvaser_usb_dev_cfg"
is added for this backport, and was not part of the original series.

When fixing the CAN clock frequency,
fb12797ab1fe ("can: kvaser_usb: get CAN clock frequency from device"),
I introduced a regression.

For Leaf devices based on M32C, the firmware expects bittiming parameters
calculated for 16MHz clock. Regardless of the actual clock frequency.

This regression affects M32C based Leaf devices with non-16MHz clock.

Also correct the bittiming constants in kvaser_usb_leaf.c, where the
limits are different depending on which firmware/device being used.

[1]
https://lore.kernel.org/linux-can/20220603083820.800246-1-extja@kvaser.com/

Jimmy Assarsson (4):
can: kvaser_usb: Add struct kvaser_usb_dev_cfg
can: kvaser_usb: replace run-time checks with struct
kvaser_usb_driver_info
can: kvaser_usb: fix CAN clock frequency regression
can: kvaser_usb: fix bittiming limits

drivers/net/can/usb/kvaser_usb.c | 325 +++++++++++++++++++------------
1 file changed, 201 insertions(+), 124 deletions(-)

--
2.36.1