thunderbolt: Increase DPRX capabilities read timeout

Some graphics drivers such as i915 support runtime power management and
if there is nothing connected at the moment they will runtime suspend to
save power. At least i915 is polling for new connections every 10
seconds if the hardware does support sending PME. To allow i915 and
other graphics from detect the just established DisplayPort tunnel allow
the DPRX capabilities read to take up to 12 seconds.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
Mika Westerberg 2024-08-28 15:07:54 +03:00
parent c55017a060
commit 58b4af9c43

View File

@ -1186,9 +1186,12 @@ static int tb_dp_consumed_bandwidth(struct tb_tunnel *tunnel, int *consumed_up,
* return that bandwidth (it may be smaller than the
* reduced one). According to VESA spec, the DPRX
* negotiation shall compete in 5 seconds after tunnel
* established. We give it 100ms extra just in case.
* established. Since at least i915 can runtime suspend
* if there is nothing connected, and that it polls any
* new connections every 10 seconds, we use 12 seconds
* here.
*/
ret = tb_dp_wait_dprx(tunnel, 5100);
ret = tb_dp_wait_dprx(tunnel, 12000);
if (ret)
return ret;
ret = tb_dp_read_cap(tunnel, DP_COMMON_CAP, &rate, &lanes);