Lines Matching full:bandwidth
22 * Minimum bandwidth (in Mb/s) that is needed in the single transmitter/receiver
23 * direction. This is 40G - 10% guard band bandwidth.
28 * Threshold bandwidth (in Mb/s) that is used to switch the links to
55 * @groups: Bandwidth groups used in this domain.
100 tb_port_dbg(in, "attached to bandwidth group %d\n", group->index); in tb_bandwidth_group_attach_port()
149 tb_port_warn(in, "no available bandwidth groups\n"); in tb_attach_bandwidth_group()
180 tb_port_dbg(in, "detached from bandwidth group %d\n", group->index); in tb_detach_bandwidth_group()
653 * tb_consumed_usb3_pcie_bandwidth() - Consumed USB3/PCIe bandwidth over a single link
657 * @port: USB4 port the consumed bandwidth is calculated
658 * @consumed_up: Consumed upsream bandwidth (Mb/s)
659 * @consumed_down: Consumed downstream bandwidth (Mb/s)
661 * Calculates consumed USB3 and PCIe bandwidth at @port between path
701 * tb_consumed_dp_bandwidth() - Consumed DP bandwidth over a single link
705 * @port: USB4 port the consumed bandwidth is calculated
706 * @consumed_up: Consumed upsream bandwidth (Mb/s)
707 * @consumed_down: Consumed downstream bandwidth (Mb/s)
709 * Calculates consumed DP bandwidth at @port between path from @src_port
728 * their consumed bandwidth from the available. in tb_consumed_dp_bandwidth()
745 * re-calculating estimated bandwidth. in tb_consumed_dp_bandwidth()
778 * tb_maximum_banwidth() - Maximum bandwidth over a single link
782 * @port: USB4 port the total bandwidth is calculated
783 * @max_up: Maximum upstream bandwidth (Mb/s)
784 * @max_down: Maximum downstream bandwidth (Mb/s)
785 * @include_asym: Include bandwidth if the link is switched from
788 * Returns maximum possible bandwidth in @max_up and @max_down over a
823 * this bandwidth as available (even though it in tb_maximum_bandwidth()
856 * this bandwidth as available (even though it in tb_maximum_bandwidth()
876 tb_port_dbg(port, "link maximum bandwidth %d/%d Mb/s\n", *max_up, *max_down); in tb_maximum_bandwidth()
881 * tb_available_bandwidth() - Available bandwidth for tunneling
885 * @available_up: Available bandwidth upstream (Mb/s)
886 * @available_down: Available bandwidth downstream (Mb/s)
887 * @include_asym: Include bandwidth if the link is switched from
890 * Calculates maximum available bandwidth for protocol tunneling between
892 * link bandwidth across all links reduced by currently consumed
893 * bandwidth on that link.
895 * If @include_asym is true then includes also bandwidth that can be
906 /* Maximum possible bandwidth asymmetric Gen 4 link is 120 Gb/s */ in tb_available_bandwidth()
909 /* Find the minimum available bandwidth over all links */ in tb_available_bandwidth()
970 tb_dbg(tb, "reclaiming unused bandwidth for USB3\n"); in tb_reclaim_usb3_bandwidth()
973 * Calculate available bandwidth for the first hop USB3 tunnel. in tb_reclaim_usb3_bandwidth()
974 * That determines the whole USB3 bandwidth for this branch. in tb_reclaim_usb3_bandwidth()
979 tb_warn(tb, "failed to calculate available bandwidth\n"); in tb_reclaim_usb3_bandwidth()
983 tb_dbg(tb, "available bandwidth for USB3 %d/%d Mb/s\n", in tb_reclaim_usb3_bandwidth()
1029 /* Make all unused bandwidth available for the new tunnel */ in tb_tunnel_usb3()
1040 tb_port_dbg(up, "available bandwidth for new USB3 tunnel %d/%d Mb/s\n", in tb_tunnel_usb3()
1102 * @requested_up: Additional bandwidth (Mb/s) required upstream
1103 * @requested_down: Additional bandwidth (Mb/s) required downstream
1107 * in the opposite direction, if the bandwidth requirements
1201 * @requested_up: New lower bandwidth request upstream (Mb/s)
1202 * @requested_down: New lower bandwidth request downstream (Mb/s)
1205 * transition the link to symmetric if the currently consumed bandwidth
1301 * above into symmetric if bandwidth allows. in tb_configure_link()
1491 * If bandwidth on a link is < asym_threshold in tb_deactivate_and_free_tunnel()
1509 * bandwidth. in tb_deactivate_and_free_tunnel()
1616 tb_dbg(tb, "re-calculating bandwidth estimation for group %u\n", in tb_recalc_estimated_bandwidth_for_group()
1634 * Since USB3 bandwidth is shared by all DP in tb_recalc_estimated_bandwidth_for_group()
1637 * can release USB3 bandwidth just once and not in tb_recalc_estimated_bandwidth_for_group()
1645 "failed to release unused bandwidth\n"); in tb_recalc_estimated_bandwidth_for_group()
1655 "failed to re-calculate estimated bandwidth\n"); in tb_recalc_estimated_bandwidth_for_group()
1660 * Estimated bandwidth includes: in tb_recalc_estimated_bandwidth_for_group()
1661 * - already allocated bandwidth for the DP tunnel in tb_recalc_estimated_bandwidth_for_group()
1662 * - available bandwidth along the path in tb_recalc_estimated_bandwidth_for_group()
1663 * - bandwidth allocated for USB 3.x but not used. in tb_recalc_estimated_bandwidth_for_group()
1665 tb_port_dbg(in, "re-calculated estimated bandwidth %u/%u Mb/s\n", in tb_recalc_estimated_bandwidth_for_group()
1674 tb_port_warn(in, "failed to update estimated bandwidth\n"); in tb_recalc_estimated_bandwidth_for_group()
1681 tb_dbg(tb, "bandwidth estimation for group %u done\n", group->index); in tb_recalc_estimated_bandwidth_for_group()
1689 tb_dbg(tb, "bandwidth consumption changed, re-calculating estimated bandwidth\n"); in tb_recalc_estimated_bandwidth()
1698 tb_dbg(tb, "bandwidth re-calculation done\n"); in tb_recalc_estimated_bandwidth()
1749 * topology). For these try to share the DP bandwidth between in tb_tunnel_one_dp()
1779 /* Make all unused USB3 bandwidth available for the new DP tunnel */ in tb_tunnel_one_dp()
1782 tb_warn(tb, "failed to release unused bandwidth\n"); in tb_tunnel_one_dp()
1791 tb_dbg(tb, "available bandwidth for new DP tunnel %u/%u Mb/s\n", in tb_tunnel_one_dp()
1806 /* If fail reading tunnel's consumed bandwidth, tear it down */ in tb_tunnel_one_dp()
1820 /* Update the domain with the new bandwidth estimation */ in tb_tunnel_one_dp()
2334 tb_port_dbg(in, "bandwidth allocated currently %d/%d Mb/s\n", in tb_alloc_dp_bandwidth()
2376 tb_port_dbg(in, "corrected bandwidth request %d/%d Mb/s\n", in tb_alloc_dp_bandwidth()
2381 tb_port_dbg(in, "bandwidth request too high (%d/%d Mb/s > %d/%d Mb/s)\n", in tb_alloc_dp_bandwidth()
2390 * If bandwidth on a link is < asym_threshold transition in tb_alloc_dp_bandwidth()
2395 * If requested bandwidth is less or equal than what is in tb_alloc_dp_bandwidth()
2399 * group the released bandwidth will be taken into in tb_alloc_dp_bandwidth()
2407 * More bandwidth is requested. Release all the potential in tb_alloc_dp_bandwidth()
2408 * bandwidth from USB3 first. in tb_alloc_dp_bandwidth()
2417 * that we use with the normal bandwidth allocation). in tb_alloc_dp_bandwidth()
2424 tb_port_dbg(in, "bandwidth available for allocation %d/%d Mb/s\n", in tb_alloc_dp_bandwidth()
2430 * If bandwidth on a link is >= asym_threshold in tb_alloc_dp_bandwidth()
2443 tb_tunnel_warn(tunnel, "failed to allocate bandwidth\n"); in tb_alloc_dp_bandwidth()
2473 tb_warn(tb, "bandwidth request from non-existent router %llx\n", in tb_handle_dp_bandwidth_request()
2480 tb_port_warn(in, "bandwidth request to non-DP IN adapter\n"); in tb_handle_dp_bandwidth_request()
2484 tb_port_dbg(in, "handling bandwidth allocation request\n"); in tb_handle_dp_bandwidth_request()
2487 tb_port_warn(in, "bandwidth allocation mode not enabled\n"); in tb_handle_dp_bandwidth_request()
2494 tb_port_dbg(in, "no bandwidth request active\n"); in tb_handle_dp_bandwidth_request()
2496 tb_port_warn(in, "failed to read requested bandwidth\n"); in tb_handle_dp_bandwidth_request()
2501 tb_port_dbg(in, "requested bandwidth %d Mb/s\n", requested_bw); in tb_handle_dp_bandwidth_request()
2522 tb_port_warn(in, "not enough bandwidth available\n"); in tb_handle_dp_bandwidth_request()
2524 tb_port_warn(in, "failed to change bandwidth allocation\n"); in tb_handle_dp_bandwidth_request()
2526 tb_port_dbg(in, "bandwidth allocation changed to %d/%d Mb/s\n", in tb_handle_dp_bandwidth_request()