mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
can: rockchip_canfd: rkcanfd_timestamp_init(): rework delay calculation
Rework the delay calculation to only require a single 64-bit division. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [mkl: port to on-top of existing 32-bit division fix] Link: https://patch.msgid.link/20240911-can-rockchip_canfd-fixes-v1-1-5ce385b5ab10@pengutronix.de Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
709cbd5bb4
commit
cd0983c7f8
|
|
@ -71,8 +71,8 @@ void rkcanfd_timestamp_init(struct rkcanfd_priv *priv)
|
|||
|
||||
max_cycles = div_u64(ULLONG_MAX, cc->mult);
|
||||
max_cycles = min(max_cycles, cc->mask);
|
||||
work_delay_ns = div_u64(clocksource_cyc2ns(max_cycles, cc->mult, cc->shift), 3);
|
||||
priv->work_delay_jiffies = nsecs_to_jiffies(work_delay_ns);
|
||||
work_delay_ns = clocksource_cyc2ns(max_cycles, cc->mult, cc->shift);
|
||||
priv->work_delay_jiffies = div_u64(work_delay_ns, 3u * NSEC_PER_SEC / HZ);
|
||||
INIT_DELAYED_WORK(&priv->timestamp, rkcanfd_timestamp_work);
|
||||
|
||||
netdev_dbg(priv->ndev, "clock=%lu.%02luMHz bitrate=%lu.%02luMBit/s div=%u rate=%lu.%02luMHz mult=%u shift=%u delay=%lus\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user