Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/i915/dp_tunnel: Don't update tunnel state during system resume

During system resume, restoring the pre-suspend display state must not
fail. This requires preserving the sink capabilities from before
suspend, including the available link bandwidth.

If these capabilities are not preserved, the restore modeset may fail,
either due to a missing sink capability or insufficient link bandwidth
for the restored mode.

When the sink is connected through a DP tunnel, prevent such capability
changes by skipping tunnel state updates during resume. This also avoids
updating the sink state via the tunnel while it is being resumed.

Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patch.msgid.link/20260219182823.926702-2-imre.deak@intel.com

Imre Deak afe3f747 13665885

+6 -5
+6 -5
drivers/gpu/drm/i915/display/intel_dp_tunnel.c
··· 150 150 drm_dp_tunnel_name(intel_dp->tunnel), 151 151 encoder->base.base.id, encoder->base.name, 152 152 ERR_PTR(err)); 153 - 154 - return err; 155 153 } 156 154 157 - return update_tunnel_state(intel_dp); 155 + return err; 158 156 } 159 157 160 158 static int allocate_initial_tunnel_bw(struct intel_dp *intel_dp, ··· 198 200 } 199 201 200 202 ret = allocate_initial_tunnel_bw(intel_dp, ctx); 201 - if (ret < 0) 203 + if (ret < 0) { 202 204 intel_dp_tunnel_destroy(intel_dp); 203 205 204 - return ret; 206 + return ret; 207 + } 208 + 209 + return update_tunnel_state(intel_dp); 205 210 } 206 211 207 212 /**