On Mon, Feb 23, 2026 at 05:54:38PM +0200, Murthy, Arun R wrote: > > > -----Original Message----- > > From: Intel-gfx <[email protected]> On Behalf Of Imre > > Deak > > Sent: Thursday, February 19, 2026 11:58 PM > > To: [email protected]; [email protected] > > Subject: [PATCH 1/5] 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. > > > I don't see the sink capabilities being stored in this patch.
The sink capabilities are stored in intel_dp and intel_connector, including the maximum link rate and lane count, which determine the link bandwidth. This patch preserves those capabilities across suspend/resume by preventing the tunnel state from being updated during resume. > > > 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. > Don't see this in the patch. > > > > > 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. > > > > Signed-off-by: Imre Deak <[email protected]> > > --- > > drivers/gpu/drm/i915/display/intel_dp_tunnel.c | 11 ++++++----- > > 1 file changed, 6 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c > > b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c > > index faa2b7a46699d..eb1eed1c8c7bb 100644 > > --- a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c > > +++ b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c > > @@ -150,11 +150,9 @@ static int allocate_initial_tunnel_bw_for_pipes(struct > > intel_dp *intel_dp, u8 pi > > drm_dp_tunnel_name(intel_dp->tunnel), > > encoder->base.base.id, encoder->base.name, > > ERR_PTR(err)); > > - > > - return err; > > } > > > > - return update_tunnel_state(intel_dp); > > + return err; > > } > > > > static int allocate_initial_tunnel_bw(struct intel_dp *intel_dp, @@ -200,10 > > +198,13 @@ static int detect_new_tunnel(struct intel_dp *intel_dp, struct > > drm_modeset_acqui > > } > > > > ret = allocate_initial_tunnel_bw(intel_dp, ctx); > > - if (ret < 0) > > + if (ret < 0) { > > intel_dp_tunnel_destroy(intel_dp); > > > > - return ret; > > + return ret; > > + } > > + > > + return update_tunnel_state(intel_dp); > > } > > > > /** > > -- > > 2.49.1 > > Thanks and Regards, > Arun R Murthy > --------------------
