Lines Matching full:bandwidth

23  * How many time bandwidth allocation request from graphics driver is
29 * Minimum bandwidth (in Mb/s) that is needed in the single transmitter/receiver
30 * direction. This is 40G - 10% guard band bandwidth.
35 * Threshold bandwidth (in Mb/s) that is used to switch the links to
62 * @groups: Bandwidth groups used in this domain.
536 * tb_consumed_usb3_pcie_bandwidth() - Consumed USB3/PCIe bandwidth over a single link
540 * @port: USB4 port the consumed bandwidth is calculated
541 * @consumed_up: Consumed upstream bandwidth (Mb/s)
542 * @consumed_down: Consumed downstream bandwidth (Mb/s)
544 * Calculates consumed USB3 and PCIe bandwidth at @port between path
546 * @src_port and ending on @src_port into account because that bandwidth is
587 * tb_consumed_dp_bandwidth() - Consumed DP bandwidth over a single link
591 * @port: USB4 port the consumed bandwidth is calculated
592 * @consumed_up: Consumed upstream bandwidth (Mb/s)
593 * @consumed_down: Consumed downstream bandwidth (Mb/s)
595 * Calculates consumed DP bandwidth at @port between path from @src_port
599 * If there is bandwidth reserved for any of the groups between
601 * account in the returned consumed bandwidth.
622 * their consumed bandwidth from the available. in tb_consumed_dp_bandwidth()
649 * re-calculating estimated bandwidth. in tb_consumed_dp_bandwidth()
690 * tb_maximum_bandwidth() - Maximum bandwidth over a single link
694 * @port: USB4 port the total bandwidth is calculated
695 * @max_up: Maximum upstream bandwidth (Mb/s)
696 * @max_down: Maximum downstream bandwidth (Mb/s)
697 * @include_asym: Include bandwidth if the link is switched from
700 * Returns maximum possible bandwidth in @max_up and @max_down over a
737 * this bandwidth as available (even though it in tb_maximum_bandwidth()
770 * this bandwidth as available (even though it in tb_maximum_bandwidth()
790 tb_port_dbg(port, "link maximum bandwidth %d/%d Mb/s\n", *max_up, *max_down); in tb_maximum_bandwidth()
795 * tb_available_bandwidth() - Available bandwidth for tunneling
799 * @available_up: Available bandwidth upstream (Mb/s)
800 * @available_down: Available bandwidth downstream (Mb/s)
801 * @include_asym: Include bandwidth if the link is switched from
804 * Calculates maximum available bandwidth for protocol tunneling between
806 * link bandwidth across all links reduced by currently consumed
807 * bandwidth on that link.
809 * If @include_asym is true then includes also bandwidth that can be
822 /* Maximum possible bandwidth asymmetric Gen 4 link is 120 Gb/s */ in tb_available_bandwidth()
825 /* Find the minimum available bandwidth over all links */ in tb_available_bandwidth()
886 tb_tunnel_dbg(tunnel, "reclaiming unused bandwidth\n"); in tb_reclaim_usb3_bandwidth()
889 * Calculate available bandwidth for the first hop USB3 tunnel. in tb_reclaim_usb3_bandwidth()
890 * That determines the whole USB3 bandwidth for this branch. in tb_reclaim_usb3_bandwidth()
895 tb_tunnel_warn(tunnel, "failed to calculate available bandwidth\n"); in tb_reclaim_usb3_bandwidth()
899 tb_tunnel_dbg(tunnel, "available bandwidth %d/%d Mb/s\n", available_up, in tb_reclaim_usb3_bandwidth()
945 /* Make all unused bandwidth available for the new tunnel */ in tb_tunnel_usb3()
956 tb_port_dbg(up, "available bandwidth for new USB3 tunnel %d/%d Mb/s\n", in tb_tunnel_usb3()
960 * If the available bandwidth is less than 1.5 Gb/s notify in tb_tunnel_usb3()
1027 * @requested_up: Additional bandwidth (Mb/s) required upstream
1028 * @requested_down: Additional bandwidth (Mb/s) required downstream
1032 * in the opposite direction, if the bandwidth requirements
1142 * transition the link to symmetric if the currently consumed bandwidth
1255 * above into symmetric if bandwidth allows. in tb_configure_link()
1439 tb_dbg(tb, "re-calculating bandwidth estimation for group %u\n", in tb_recalc_estimated_bandwidth_for_group()
1457 * Since USB3 bandwidth is shared by all DP in tb_recalc_estimated_bandwidth_for_group()
1460 * can release USB3 bandwidth just once and not in tb_recalc_estimated_bandwidth_for_group()
1468 "failed to release unused bandwidth\n"); in tb_recalc_estimated_bandwidth_for_group()
1478 "failed to re-calculate estimated bandwidth\n"); in tb_recalc_estimated_bandwidth_for_group()
1483 * Estimated bandwidth includes: in tb_recalc_estimated_bandwidth_for_group()
1484 * - already allocated bandwidth for the DP tunnel in tb_recalc_estimated_bandwidth_for_group()
1485 * - available bandwidth along the path in tb_recalc_estimated_bandwidth_for_group()
1486 * - bandwidth allocated for USB 3.x but not used. in tb_recalc_estimated_bandwidth_for_group()
1494 * If there is reserved bandwidth for the group that is in tb_recalc_estimated_bandwidth_for_group()
1498 "re-calculated estimated bandwidth %u (+ %u reserved) = %u Mb/s\n", in tb_recalc_estimated_bandwidth_for_group()
1505 "failed to update estimated bandwidth\n"); in tb_recalc_estimated_bandwidth_for_group()
1512 tb_dbg(tb, "bandwidth estimation for group %u done\n", group->index); in tb_recalc_estimated_bandwidth_for_group()
1520 tb_dbg(tb, "bandwidth consumption changed, re-calculating estimated bandwidth\n"); in tb_recalc_estimated_bandwidth()
1529 tb_dbg(tb, "bandwidth re-calculation done\n"); in tb_recalc_estimated_bandwidth()
1555 * links back to symmetric if bandwidth requirement < asym_threshold. in __configure_group_sym()
1558 * if the graphics released bandwidth for other tunnel in the in __configure_group_sym()
1604 tb_port_dbg(in, "attached to bandwidth group %d\n", group->index); in tb_bandwidth_group_attach_port()
1653 tb_port_warn(in, "no available bandwidth groups\n"); in tb_attach_bandwidth_group()
1684 tb_port_dbg(in, "detached from bandwidth group %d\n", group->index); in tb_detach_bandwidth_group()
1686 /* No more tunnels so release the reserved bandwidth if any */ in tb_detach_bandwidth_group()
1746 * If bandwidth on a link is < asym_threshold in tb_deactivate_and_free_tunnel()
1764 * bandwidth. in tb_deactivate_and_free_tunnel()
1918 /* If fail reading tunnel's consumed bandwidth, tear it down */ in tb_dp_tunnel_active()
1923 "failed to read consumed bandwidth, tearing down\n"); in tb_dp_tunnel_active()
1934 * Update the domain with the new bandwidth in tb_dp_tunnel_active()
1981 * topology). For these try to share the DP bandwidth between in tb_tunnel_one_dp()
2011 /* Make all unused USB3 bandwidth available for the new DP tunnel */ in tb_tunnel_one_dp()
2014 tb_warn(tb, "failed to release unused bandwidth\n"); in tb_tunnel_one_dp()
2025 tb_dbg(tb, "available bandwidth for new DP tunnel %u/%u Mb/s\n", in tb_tunnel_one_dp()
2551 tb_tunnel_dbg(tunnel, "bandwidth allocated currently %d/%d Mb/s\n", in tb_alloc_dp_bandwidth()
2593 tb_tunnel_dbg(tunnel, "corrected bandwidth request %d/%d Mb/s\n", in tb_alloc_dp_bandwidth()
2599 "bandwidth request too high (%d/%d Mb/s > %d/%d Mb/s)\n", in tb_alloc_dp_bandwidth()
2614 * If requested bandwidth is less or equal than in tb_alloc_dp_bandwidth()
2617 * and add the released bandwidth for the group in tb_alloc_dp_bandwidth()
2653 * More bandwidth is requested. Release all the potential in tb_alloc_dp_bandwidth()
2654 * bandwidth from USB3 first. in tb_alloc_dp_bandwidth()
2663 * that we use with the normal bandwidth allocation). in tb_alloc_dp_bandwidth()
2670 tb_tunnel_dbg(tunnel, "bandwidth available for allocation %d/%d (+ %u reserved) Mb/s\n", in tb_alloc_dp_bandwidth()
2680 * If bandwidth on a link is >= asym_threshold in tb_alloc_dp_bandwidth()
2693 tb_tunnel_warn(tunnel, "failed to allocate bandwidth\n"); in tb_alloc_dp_bandwidth()
2749 tb_warn(tb, "bandwidth request from non-existent router %llx\n", in tb_handle_dp_bandwidth_request()
2756 tb_port_warn(in, "bandwidth request to non-DP IN adapter\n"); in tb_handle_dp_bandwidth_request()
2760 tb_port_dbg(in, "handling bandwidth allocation request, retry %d\n", ev->retry); in tb_handle_dp_bandwidth_request()
2775 tb_port_dbg(in, "DPTX disabled bandwidth allocation mode\n"); in tb_handle_dp_bandwidth_request()
2777 tb_port_warn(in, "bandwidth allocation mode not enabled\n"); in tb_handle_dp_bandwidth_request()
2790 * can offer better bandwidth estimation. in tb_handle_dp_bandwidth_request()
2792 tb_port_dbg(in, "DPTX enabled bandwidth allocation mode, updating estimated bandwidth\n"); in tb_handle_dp_bandwidth_request()
2795 tb_port_warn(in, "failed to read requested bandwidth\n"); in tb_handle_dp_bandwidth_request()
2801 tb_port_dbg(in, "requested bandwidth %d Mb/s\n", requested_bw); in tb_handle_dp_bandwidth_request()
2815 "not enough bandwidth available\n"); in tb_handle_dp_bandwidth_request()
2819 * We got bandwidth allocation request but the in tb_handle_dp_bandwidth_request()
2827 "retrying bandwidth allocation request\n"); in tb_handle_dp_bandwidth_request()
2838 "failed to change bandwidth allocation\n"); in tb_handle_dp_bandwidth_request()
2842 "bandwidth allocation changed to %d/%d Mb/s\n", in tb_handle_dp_bandwidth_request()
2960 /* Cancel all the release bandwidth workers */ in tb_deinit()