Skip to content

Commit

Permalink
thunderbolt: Re-calculate estimated bandwidth when allocation mode is…
Browse files Browse the repository at this point in the history
… enabled

When we program the initial bandwidth estimation the DPTX (graphics
driver) has not yet read the capabilities of the monitor so the values
used are the highest possible of the involved DisplayPort IN and OUT
adapters, not the actual monitor capabilities. To allow the graphics
more accurate bandwidth estimation re-calculate it once we receive the
bandwidth allocation mode enabled notification.

Signed-off-by: Mika Westerberg <[email protected]>
  • Loading branch information
westeri committed Feb 16, 2024
1 parent 7b5e0bf commit d44b982
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions drivers/thunderbolt/tb.c
Original file line number Diff line number Diff line change
Expand Up @@ -2413,10 +2413,19 @@ static void tb_handle_dp_bandwidth_request(struct work_struct *work)

ret = usb4_dp_port_requested_bandwidth(in);
if (ret < 0) {
if (ret == -ENODATA)
tb_port_dbg(in, "no bandwidth request active\n");
else
if (ret == -ENODATA) {
/*
* There is no request active so this means the
* BW allocation mode was enabled from graphics
* side. At this point we know that the graphics
* driver has read the DRPX capabilities so we
* can offer an better bandwidth estimatation.
*/
tb_port_dbg(in, "DPTX enabled bandwidth allocation mode, updating estimated bandwidth\n");
tb_recalc_estimated_bandwidth(tb);
} else {
tb_port_warn(in, "failed to read requested bandwidth\n");
}
goto put_sw;
}
requested_bw = ret;
Expand Down

0 comments on commit d44b982

Please sign in to comment.