Lines Matching full:bt

65 int can_calc_bittiming(const struct net_device *dev, struct can_bittiming *bt,  in can_calc_bittiming()  argument
81 if (bt->sample_point) { in can_calc_bittiming()
82 sample_point_nominal = bt->sample_point; in can_calc_bittiming()
84 if (bt->bitrate > 800 * KILO /* BPS */) in can_calc_bittiming()
86 else if (bt->bitrate > 500 * KILO /* BPS */) in can_calc_bittiming()
98 brp = priv->clock.freq / (tsegall * bt->bitrate) + tseg % 2; in can_calc_bittiming()
106 bitrate_error = abs(bt->bitrate - bitrate); in can_calc_bittiming()
133 do_div(v64, bt->bitrate); in can_calc_bittiming()
146 bt->sample_point = can_update_sample_point(btc, sample_point_nominal, in can_calc_bittiming()
152 bt->tq = (u32)v64; in can_calc_bittiming()
153 bt->prop_seg = tseg1 / 2; in can_calc_bittiming()
154 bt->phase_seg1 = tseg1 - bt->prop_seg; in can_calc_bittiming()
155 bt->phase_seg2 = tseg2; in can_calc_bittiming()
158 if (!bt->sjw || !btc->sjw_max) { in can_calc_bittiming()
159 bt->sjw = 1; in can_calc_bittiming()
161 /* bt->sjw is at least 1 -> sanitize upper bound to sjw_max */ in can_calc_bittiming()
162 if (bt->sjw > btc->sjw_max) in can_calc_bittiming()
163 bt->sjw = btc->sjw_max; in can_calc_bittiming()
164 /* bt->sjw must not be higher than tseg2 */ in can_calc_bittiming()
165 if (tseg2 < bt->sjw) in can_calc_bittiming()
166 bt->sjw = tseg2; in can_calc_bittiming()
169 bt->brp = best_brp; in can_calc_bittiming()
172 bt->bitrate = priv->clock.freq / in can_calc_bittiming()
173 (bt->brp * (CAN_SYNC_SEG + tseg1 + tseg2)); in can_calc_bittiming()