Lines Matching defs:bt

10 void can_sjw_set_default(struct can_bittiming *bt)
12 if (bt->sjw)
16 bt->sjw = max(1U, min(bt->phase_seg1, bt->phase_seg2 / 2));
19 int can_sjw_check(const struct net_device *dev, const struct can_bittiming *bt,
22 if (bt->sjw > btc->sjw_max) {
24 bt->sjw, btc->sjw_max);
28 if (bt->sjw > bt->phase_seg1) {
31 bt->sjw, bt->phase_seg1);
35 if (bt->sjw > bt->phase_seg2) {
38 bt->sjw, bt->phase_seg2);
50 static int can_fixup_bittiming(const struct net_device *dev, struct can_bittiming *bt,
54 const unsigned int tseg1 = bt->prop_seg + bt->phase_seg1;
69 if (bt->phase_seg2 < btc->tseg2_min) {
71 bt->phase_seg2, btc->tseg2_min);
74 if (bt->phase_seg2 > btc->tseg2_max) {
76 bt->phase_seg2, btc->tseg2_max);
80 can_sjw_set_default(bt);
82 err = can_sjw_check(dev, bt, btc, extack);
86 brp64 = (u64)priv->clock.freq * (u64)bt->tq;
93 bt->brp = (u32)brp64;
95 if (bt->brp < btc->brp_min) {
97 bt->brp, btc->brp_min);
100 if (bt->brp > btc->brp_max) {
102 bt->brp, btc->brp_max);
106 bt->bitrate = priv->clock.freq / (bt->brp * can_bit_time(bt));
107 bt->sample_point = ((CAN_SYNC_SEG + tseg1) * 1000) / can_bit_time(bt);
108 bt->tq = DIV_U64_ROUND_CLOSEST(mul_u32_u32(bt->brp, NSEC_PER_SEC),
116 can_validate_bitrate(const struct net_device *dev, const struct can_bittiming *bt,
124 if (bt->bitrate == bitrate_const[i])
129 bt->brp);
134 int can_get_bittiming(const struct net_device *dev, struct can_bittiming *bt,
145 if (!bt->tq && bt->bitrate && btc)
146 return can_calc_bittiming(dev, bt, btc, extack);
147 if (bt->tq && !bt->bitrate && btc)
148 return can_fixup_bittiming(dev, bt, btc, extack);
149 if (!bt->tq && bt->bitrate && bitrate_const)
150 return can_validate_bitrate(dev, bt, bitrate_const,