On Wed, 2025-04-23 at 14:53 +0530, Animesh Manna wrote: > Simplify the alpm check which will be used multiple places like > source configuration, sink enablement etc.
Reviewed-by: Jouni Högander <jouni.hogan...@intel.com> > > Signed-off-by: Animesh Manna <animesh.ma...@intel.com> > --- > drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++-- > drivers/gpu/drm/i915/display/intel_psr.c | 6 ++++++ > drivers/gpu/drm/i915/display/intel_psr.h | 1 + > 3 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > b/drivers/gpu/drm/i915/display/intel_alpm.c > index 24b666e6d8f9..c4b6da2e6ccf 100644 > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > @@ -13,6 +13,7 @@ > #include "intel_display_types.h" > #include "intel_dp.h" > #include "intel_dp_aux.h" > +#include "intel_psr.h" > #include "intel_psr_regs.h" > > bool intel_alpm_aux_wake_supported(struct intel_dp *intel_dp) > @@ -331,8 +332,8 @@ static void lnl_alpm_configure(struct intel_dp > *intel_dp, > enum port port = dp_to_dig_port(intel_dp)->base.port; > u32 alpm_ctl; > > - if (DISPLAY_VER(display) < 20 || > - (!crtc_state->has_sel_update && > !intel_dp_is_edp(intel_dp))) > + if (DISPLAY_VER(display) < 20 || > (!intel_psr_needs_alpm(intel_dp, crtc_state) && > + !crtc_state->has_lobf)) > return; > > mutex_lock(&intel_dp->alpm_parameters.lock); > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c > b/drivers/gpu/drm/i915/display/intel_psr.c > index 43ed166007eb..1c5ec3f0b066 100644 > --- a/drivers/gpu/drm/i915/display/intel_psr.c > +++ b/drivers/gpu/drm/i915/display/intel_psr.c > @@ -3949,3 +3949,9 @@ void intel_psr_connector_debugfs_add(struct > intel_connector *connector) > debugfs_create_file("i915_psr_status", 0444, root, > connector, > &i915_psr_status_fops); > } > + > +bool intel_psr_needs_alpm(struct intel_dp *intel_dp, const struct > intel_crtc_state *crtc_state) > +{ > + return intel_dp_is_edp(intel_dp) && (crtc_state- > >has_sel_update || > + crtc_state- > >has_panel_replay); > +} > diff --git a/drivers/gpu/drm/i915/display/intel_psr.h > b/drivers/gpu/drm/i915/display/intel_psr.h > index a43a374cff55..cabaec334640 100644 > --- a/drivers/gpu/drm/i915/display/intel_psr.h > +++ b/drivers/gpu/drm/i915/display/intel_psr.h > @@ -69,5 +69,6 @@ void intel_psr_trigger_frame_change_event(struct > intel_dsb *dsb, > struct intel_crtc *crtc); > void intel_psr_connector_debugfs_add(struct intel_connector > *connector); > void intel_psr_debugfs_register(struct intel_display *display); > +bool intel_psr_needs_alpm(struct intel_dp *intel_dp, const struct > intel_crtc_state *crtc_state); > > #endif /* __INTEL_PSR_H__ */