Lines Matching refs:lanes
490 u32 lanes = (val & DP_COMMON_CAP_LANES_MASK) >> DP_COMMON_CAP_LANES_SHIFT;
492 switch (lanes) {
504 static inline u32 tb_dp_cap_set_lanes(u32 val, u32 lanes)
507 switch (lanes) {
509 WARN(1, "invalid number of lanes %u passed, defaulting to 1\n",
510 lanes);
525 static unsigned int tb_dp_bandwidth(unsigned int rate, unsigned int lanes)
529 return rate * lanes * 128 / 132;
530 return rate * lanes * 8 / 10;
538 /* Mb/s, lanes */
556 * exceed the maximum rate and lanes supported by the DP OUT and
651 * Set new rate and number of lanes before writing it to
679 u32 rate, lanes;
693 * Get the non-reduced rate and lanes based on the lowest
712 lanes = min(in_lanes, out_lanes);
713 tmp = tb_dp_bandwidth(rate, lanes);
716 lanes, tmp);
718 ret = usb4_dp_port_set_nrd(in, rate, lanes);
729 tmp = tb_dp_bandwidth(rate, lanes);
733 rate, lanes, tmp);
854 int ret, rate, lanes, nrd_bw;
872 * When UHBR is used there is no reduction in lanes so
875 lanes = tb_dp_cap_get_lanes(cap);
879 * non-reduced rate and lanes.
881 ret = usb4_dp_port_nrd(in, &rate, &lanes);
886 nrd_bw = tb_dp_bandwidth(rate, lanes);
1015 static int tb_dp_read_dprx(struct tb_tunnel *tunnel, u32 *rate, u32 *lanes,
1036 *lanes = tb_dp_cap_get_lanes(val);
1039 tb_dp_bandwidth(*rate, *lanes));
1050 u32 *lanes)
1075 *lanes = tb_dp_cap_get_lanes(val);
1078 tb_dp_bandwidth(*rate, *lanes));
1111 u32 rate = 0, lanes = 0;
1134 ret = tb_dp_read_dprx(tunnel, &rate, &lanes, 150);
1138 &rate, &lanes);
1143 ret = tb_dp_read_cap(tunnel, DP_REMOTE_CAP, &rate, &lanes);
1155 *consumed_down = tb_dp_bandwidth(rate, lanes);
1157 *consumed_up = tb_dp_bandwidth(rate, lanes);
1244 u32 dp_cap, rate, lanes;
1254 lanes = tb_dp_cap_get_lanes(dp_cap);
1257 rate, lanes, tb_dp_bandwidth(rate, lanes));
1266 lanes = tb_dp_cap_get_lanes(dp_cap);
1269 rate, lanes, tb_dp_bandwidth(rate, lanes));
1276 lanes = tb_dp_cap_get_lanes(dp_cap);
1279 rate, lanes, tb_dp_bandwidth(rate, lanes));