> -----Original Message----- > From: Intel-gfx <[email protected]> On Behalf Of Imre > Deak > Sent: Monday, 1 June 2026 12.39 > To: [email protected]; [email protected] > Subject: [PATCH v2 19/22] drm/i915/dp_link_training: Allocate atomic state > for autoretrain modeset > > Allocate a local atomic state for the autoretrain modeset. This > prepares for a follow-up change that needs to access the state after > the modeset for sending userspace notifications. > > v2: Rebase on upstream drm_atomic_state -> drm_atomic_commit rename. >
Reviewed-by: Mika Kahola <[email protected]> > Signed-off-by: Imre Deak <[email protected]> > --- > .../gpu/drm/i915/display/intel_dp_link_training.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > index ad67f9df46d7b..0231ca0cea30c 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > @@ -27,6 +27,7 @@ > #include <drm/display/drm_dp_helper.h> > #include <drm/drm_print.h> > > +#include "intel_display.h" > #include "intel_display_core.h" > #include "intel_display_jiffies.h" > #include "intel_display_types.h" > @@ -2165,6 +2166,8 @@ static int intel_dp_retrain_link(struct intel_encoder > *encoder, > struct intel_dp *intel_dp = enc_to_intel_dp(encoder); > struct intel_dp_link_training *link_training = > intel_dp->link.training; > + struct intel_atomic_state *state; > + struct drm_atomic_commit *_state; > u8 pipe_mask; > int ret; > > @@ -2194,9 +2197,15 @@ static int intel_dp_retrain_link(struct intel_encoder > *encoder, > encoder->base.base.id, encoder->base.name, > > str_yes_no(intel_dp_link_training_get_force_retrain(link_training))); > > - ret = intel_modeset_commit_pipes(display, pipe_mask, ctx); > + _state = drm_atomic_commit_alloc(display->drm); > + if (!_state) > + return -ENOMEM; > + > + state = to_intel_atomic_state(_state); > + > + ret = intel_modeset_commit_pipes_for_atomic_state(state, pipe_mask, > ctx); > if (ret == -EDEADLK) > - return ret; > + goto out; > > intel_dp_link_training_set_force_retrain(link_training, false); > > @@ -2205,6 +2214,8 @@ static int intel_dp_retrain_link(struct intel_encoder > *encoder, > "[ENCODER:%d:%s] link retraining failed: %pe\n", > encoder->base.base.id, encoder->base.name, > ERR_PTR(ret)); > +out: > + drm_atomic_commit_put(&state->base); > > return ret; > } > -- > 2.49.1
