Lines Matching full:cc
11 static u64 rkcanfd_timestamp_read(const struct cyclecounter *cc) in rkcanfd_timestamp_read() argument
13 const struct rkcanfd_priv *priv = container_of(cc, struct rkcanfd_priv, cc); in rkcanfd_timestamp_read()
44 struct cyclecounter *cc = &priv->cc; in rkcanfd_timestamp_init() local
65 cc->read = rkcanfd_timestamp_read; in rkcanfd_timestamp_init()
66 cc->mask = CYCLECOUNTER_MASK(32); in rkcanfd_timestamp_init()
69 clocks_calc_mult_shift(&cc->mult, &cc->shift, rate, NSEC_PER_SEC, in rkcanfd_timestamp_init()
72 max_cycles = div_u64(ULLONG_MAX, cc->mult); in rkcanfd_timestamp_init()
73 max_cycles = min(max_cycles, cc->mask); in rkcanfd_timestamp_init()
74 work_delay_ns = clocksource_cyc2ns(max_cycles, cc->mult, cc->shift); in rkcanfd_timestamp_init()
86 cc->mult, cc->shift, in rkcanfd_timestamp_init()
92 timecounter_init(&priv->tc, &priv->cc, ktime_get_real_ns()); in rkcanfd_timestamp_start()