> -----Original Message----- > From: Intel-xe <intel-xe-boun...@lists.freedesktop.org> On Behalf Of Jouni > Högander > Sent: Wednesday, 6 August 2025 8.22 > To: intel-gfx@lists.freedesktop.org; intel...@lists.freedesktop.org > Cc: Hogander, Jouni <jouni.hogan...@intel.com> > Subject: [PATCH v2 1/4] drm/i915/psr: Pass intel_crtc_state instead of > intel_dp in wait_for_idle > > This is preparation to add own function for polling PSR being ready for > update when doing dsb commit. >
Reviewed-by: Mika Kahola <mika.kah...@intel.com> > Signed-off-by: Jouni Högander <jouni.hogan...@intel.com> > --- > drivers/gpu/drm/i915/display/intel_psr.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c > b/drivers/gpu/drm/i915/display/intel_psr.c > index 6bd3454bb00e..c2ab00fe2c20 100644 > --- a/drivers/gpu/drm/i915/display/intel_psr.c > +++ b/drivers/gpu/drm/i915/display/intel_psr.c > @@ -2982,10 +2982,11 @@ void intel_psr_post_plane_update(struct > intel_atomic_state *state, > } > } > > -static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp) > +static int > +_psr2_ready_for_pipe_update_locked(const struct intel_crtc_state > +*new_crtc_state) > { > - struct intel_display *display = to_intel_display(intel_dp); > - enum transcoder cpu_transcoder = intel_dp->psr.transcoder; > + struct intel_display *display = to_intel_display(new_crtc_state); > + enum transcoder cpu_transcoder = new_crtc_state->cpu_transcoder; > > /* > * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough. > @@ -2997,10 +2998,11 @@ static int _psr2_ready_for_pipe_update_locked(struct > intel_dp *intel_dp) > EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50); } > > -static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp) > +static int > +_psr1_ready_for_pipe_update_locked(const struct intel_crtc_state > +*new_crtc_state) > { > - struct intel_display *display = to_intel_display(intel_dp); > - enum transcoder cpu_transcoder = intel_dp->psr.transcoder; > + struct intel_display *display = to_intel_display(new_crtc_state); > + enum transcoder cpu_transcoder = new_crtc_state->cpu_transcoder; > > /* > * From bspec: Panel Self Refresh (BDW+) @@ -3039,9 +3041,9 @@ void > intel_psr_wait_for_idle_locked(const struct > intel_crtc_state *new_crtc_stat > continue; > > if (intel_dp->psr.sel_update_enabled) > - ret = _psr2_ready_for_pipe_update_locked(intel_dp); > + ret = > _psr2_ready_for_pipe_update_locked(new_crtc_state); > else > - ret = _psr1_ready_for_pipe_update_locked(intel_dp); > + ret = > _psr1_ready_for_pipe_update_locked(new_crtc_state); > > if (ret) > drm_err(display->drm, > -- > 2.43.0