diff mbox series

[v8,01/11] drm/i915/psr: Rename has_psr2 as has_sel_update

Message ID 20240429120755.3990652-2-jouni.hogander@intel.com (mailing list archive)
State New, archived
Headers show
Series Panel replay selective update support | expand

Commit Message

Hogander, Jouni April 29, 2024, 12:07 p.m. UTC
We are going to reuse has_psr2 for panel_replay as well. Rename it
as has_sel_update to avoid confusion.

v2: Rebase

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Animesh Manna <animesh.manna@intel.com>
---
 drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 10 +++++-----
 drivers/gpu/drm/i915/display/intel_display.c         |  2 +-
 drivers/gpu/drm/i915/display/intel_display_types.h   |  2 +-
 drivers/gpu/drm/i915/display/intel_dp.c              |  2 +-
 drivers/gpu/drm/i915/display/intel_fbc.c             |  2 +-
 drivers/gpu/drm/i915/display/intel_psr.c             | 10 +++++-----
 6 files changed, 14 insertions(+), 14 deletions(-)

Comments

Animesh Manna April 29, 2024, 6:54 p.m. UTC | #1
> -----Original Message-----
> From: Hogander, Jouni <jouni.hogander@intel.com>
> Sent: Monday, April 29, 2024 5:38 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Manna, Animesh <animesh.manna@intel.com>; Hogander, Jouni
> <jouni.hogander@intel.com>
> Subject: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> has_sel_update
> 
> We are going to reuse has_psr2 for panel_replay as well. Rename it as
> has_sel_update to avoid confusion.
> 
> v2: Rebase
> 
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> Reviewed-by: Animesh Manna <animesh.manna@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 10 +++++-----
>  drivers/gpu/drm/i915/display/intel_display.c         |  2 +-
>  drivers/gpu/drm/i915/display/intel_display_types.h   |  2 +-
>  drivers/gpu/drm/i915/display/intel_dp.c              |  2 +-
>  drivers/gpu/drm/i915/display/intel_fbc.c             |  2 +-
>  drivers/gpu/drm/i915/display/intel_psr.c             | 10 +++++-----
>  6 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> index ccaa4cb2809b..2c391714f28e 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> @@ -251,11 +251,11 @@ void intel_crtc_state_dump(const struct
> intel_crtc_state *pipe_config,
>  		drm_printf(&p, "sdp split: %s\n",
>  			   str_enabled_disabled(pipe_config-
> >sdp_split_enable));
> 
> -		drm_printf(&p, "psr: %s, psr2: %s, panel replay: %s, selective
> fetch: %s\n",
> -			   str_enabled_disabled(pipe_config->has_psr),
> -			   str_enabled_disabled(pipe_config->has_psr2),
> -			   str_enabled_disabled(pipe_config-
> >has_panel_replay),
> -			   str_enabled_disabled(pipe_config-
> >enable_psr2_sel_fetch));
> +		drm_printf(&p, "psr: %s, selective update: %s, panel replay:
> %s, selective fetch: %s\n",
> +			    str_enabled_disabled(pipe_config->has_psr),
> +			    str_enabled_disabled(pipe_config-
> >has_sel_update),
> +			    str_enabled_disabled(pipe_config-
> >has_panel_replay),
> +			    str_enabled_disabled(pipe_config-
> >enable_psr2_sel_fetch));

During panel-replay has_psr flag also will be true. So will get print as psr enabled.
Something below may give correct info,
                if (pipe_config->has_panel_replay)
                        drm_printf(&p, "psr: disabled, panel replay: enabled");
                else
                        drm_printf(&p, "psr: %s, panel replay: disabled",
                                             str_enabled_disabled(pipe_config->has_psr));

                drm_printf(&p, "selective update: %s, selective fetch: %s\n",
                                     str_enabled_disabled(pipe_config->has_sel_update),
                                     str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));

Regards,
Animesh

>  	}
> 
>  	drm_printf(&p, "framestart delay: %d, MSA timing delay: %d\n", diff
> --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index f45e5f02096d..c1aba4e8ac54 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -5319,7 +5319,7 @@ intel_pipe_config_compare(const struct
> intel_crtc_state *current_config,
>  	 */
>  	if (current_config->has_panel_replay || pipe_config-
> >has_panel_replay) {
>  		PIPE_CONF_CHECK_BOOL(has_psr);
> -		PIPE_CONF_CHECK_BOOL(has_psr2);
> +		PIPE_CONF_CHECK_BOOL(has_sel_update);
>  		PIPE_CONF_CHECK_BOOL(enable_psr2_sel_fetch);
>  		PIPE_CONF_CHECK_BOOL(enable_psr2_su_region_et);
>  		PIPE_CONF_CHECK_BOOL(has_panel_replay);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 62f7a30c37dc..6747c10da298 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1189,7 +1189,7 @@ struct intel_crtc_state {
> 
>  	/* PSR is supported but might not be enabled due the lack of enabled
> planes */
>  	bool has_psr;
> -	bool has_psr2;
> +	bool has_sel_update;
>  	bool enable_psr2_sel_fetch;
>  	bool enable_psr2_su_region_et;
>  	bool req_psr2_sdp_prior_scanline;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index e05e25cd4a94..a7c406a9695f 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2660,7 +2660,7 @@ static void intel_dp_compute_vsc_sdp(struct
> intel_dp *intel_dp,
>  	if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
>  		intel_dp_compute_vsc_colorimetry(crtc_state, conn_state,
>  						 vsc);
> -	} else if (crtc_state->has_psr2) {
> +	} else if (crtc_state->has_psr && crtc_state->has_sel_update) {
>  		/*
>  		 * [PSR2 without colorimetry]
>  		 * Prepare VSC Header for SU as per eDP 1.4 spec, Table 6-11
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 151dcd0c45b6..984f13d8c0c8 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1251,7 +1251,7 @@ static int intel_fbc_check_plane(struct
> intel_atomic_state *state,
>  	 * Recommendation is to keep this combination disabled
>  	 * Bspec: 50422 HSD: 14010260002
>  	 */
> -	if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_psr2) {
> +	if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_sel_update) {
>  		plane_state->no_fbc_reason = "PSR2 enabled";
>  		return 0;
>  	}
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index f5b33335a9ae..a2f7d998d342 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -651,7 +651,7 @@ void intel_psr_enable_sink(struct intel_dp *intel_dp,
>  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>  	u8 dpcd_val = DP_PSR_ENABLE;
> 
> -	if (crtc_state->has_psr2) {
> +	if (crtc_state->has_sel_update) {
>  		/* Enable ALPM at sink for psr2 */
>  		if (!crtc_state->has_panel_replay) {
>  			drm_dp_dpcd_writeb(&intel_dp->aux,
> @@ -1639,7 +1639,7 @@ void intel_psr_compute_config(struct intel_dp
> *intel_dp,
>  	if (!crtc_state->has_psr)
>  		return;
> 
> -	crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
> +	crtc_state->has_sel_update = intel_psr2_config_valid(intel_dp,
> +crtc_state);
>  }
> 
>  void intel_psr_get_config(struct intel_encoder *encoder, @@ -1672,7
> +1672,7 @@ void intel_psr_get_config(struct intel_encoder *encoder,
>  		pipe_config->has_psr = true;
>  	}
> 
> -	pipe_config->has_psr2 = intel_dp->psr.psr2_enabled;
> +	pipe_config->has_sel_update = intel_dp->psr.psr2_enabled;
>  	pipe_config->infoframes.enable |=
> intel_hdmi_infoframe_enable(DP_SDP_VSC);
> 
>  	if (!intel_dp->psr.psr2_enabled)
> @@ -1960,7 +1960,7 @@ static void intel_psr_enable_locked(struct intel_dp
> *intel_dp,
> 
>  	drm_WARN_ON(&dev_priv->drm, intel_dp->psr.enabled);
> 
> -	intel_dp->psr.psr2_enabled = crtc_state->has_psr2;
> +	intel_dp->psr.psr2_enabled = crtc_state->has_sel_update;
>  	intel_dp->psr.panel_replay_enabled = crtc_state->has_panel_replay;
>  	intel_dp->psr.busy_frontbuffer_bits = 0;
>  	intel_dp->psr.pipe = to_intel_crtc(crtc_state->uapi.crtc)->pipe;
> @@ -2688,7 +2688,7 @@ void intel_psr_pre_plane_update(struct
> intel_atomic_state *state,
>  		needs_to_disable |=
> intel_crtc_needs_modeset(new_crtc_state);
>  		needs_to_disable |= !new_crtc_state->has_psr;
>  		needs_to_disable |= !new_crtc_state->active_planes;
> -		needs_to_disable |= new_crtc_state->has_psr2 != psr-
> >psr2_enabled;
> +		needs_to_disable |= new_crtc_state->has_sel_update !=
> +psr->psr2_enabled;
>  		needs_to_disable |= DISPLAY_VER(i915) < 11 &&
>  			new_crtc_state->wm_level_disabled;
> 
> --
> 2.34.1
Animesh Manna April 29, 2024, 7:08 p.m. UTC | #2
> -----Original Message-----
> From: Manna, Animesh
> Sent: Tuesday, April 30, 2024 12:24 AM
> To: Hogander, Jouni <jouni.hogander@intel.com>; intel-
> gfx@lists.freedesktop.org
> Subject: RE: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> has_sel_update
> 
> 
> 
> > -----Original Message-----
> > From: Hogander, Jouni <jouni.hogander@intel.com>
> > Sent: Monday, April 29, 2024 5:38 PM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Manna, Animesh <animesh.manna@intel.com>; Hogander, Jouni
> > <jouni.hogander@intel.com>
> > Subject: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> > has_sel_update
> >
> > We are going to reuse has_psr2 for panel_replay as well. Rename it as
> > has_sel_update to avoid confusion.
> >
> > v2: Rebase
> >
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > Reviewed-by: Animesh Manna <animesh.manna@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 10 +++++-----
> >  drivers/gpu/drm/i915/display/intel_display.c         |  2 +-
> >  drivers/gpu/drm/i915/display/intel_display_types.h   |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dp.c              |  2 +-
> >  drivers/gpu/drm/i915/display/intel_fbc.c             |  2 +-
> >  drivers/gpu/drm/i915/display/intel_psr.c             | 10 +++++-----
> >  6 files changed, 14 insertions(+), 14 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > index ccaa4cb2809b..2c391714f28e 100644
> > --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > @@ -251,11 +251,11 @@ void intel_crtc_state_dump(const struct
> > intel_crtc_state *pipe_config,
> >  		drm_printf(&p, "sdp split: %s\n",
> >  			   str_enabled_disabled(pipe_config-
> > >sdp_split_enable));
> >
> > -		drm_printf(&p, "psr: %s, psr2: %s, panel replay: %s, selective
> > fetch: %s\n",
> > -			   str_enabled_disabled(pipe_config->has_psr),
> > -			   str_enabled_disabled(pipe_config->has_psr2),
> > -			   str_enabled_disabled(pipe_config-
> > >has_panel_replay),
> > -			   str_enabled_disabled(pipe_config-
> > >enable_psr2_sel_fetch));
> > +		drm_printf(&p, "psr: %s, selective update: %s, panel replay:
> > %s, selective fetch: %s\n",
> > +			    str_enabled_disabled(pipe_config->has_psr),
> > +			    str_enabled_disabled(pipe_config-
> > >has_sel_update),
> > +			    str_enabled_disabled(pipe_config-
> > >has_panel_replay),
> > +			    str_enabled_disabled(pipe_config-
> > >enable_psr2_sel_fetch));
> 
> During panel-replay has_psr flag also will be true. So will get print as psr
> enabled.
> Something below may give correct info,
>                 if (pipe_config->has_panel_replay)
>                         drm_printf(&p, "psr: disabled, panel replay: enabled");
>                 else
>                         drm_printf(&p, "psr: %s, panel replay: disabled",
>                                              str_enabled_disabled(pipe_config->has_psr));
> 
>                 drm_printf(&p, "selective update: %s, selective fetch: %s\n",
>                                      str_enabled_disabled(pipe_config->has_sel_update),
>                                      str_enabled_disabled(pipe_config-
> >enable_psr2_sel_fetch));
> 
> Regards,
> Animesh
> 
> >  	}
> >
> >  	drm_printf(&p, "framestart delay: %d, MSA timing delay: %d\n", diff
> > --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index f45e5f02096d..c1aba4e8ac54 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -5319,7 +5319,7 @@ intel_pipe_config_compare(const struct
> > intel_crtc_state *current_config,
> >  	 */
> >  	if (current_config->has_panel_replay || pipe_config-
> > >has_panel_replay) {
> >  		PIPE_CONF_CHECK_BOOL(has_psr);
> > -		PIPE_CONF_CHECK_BOOL(has_psr2);
> > +		PIPE_CONF_CHECK_BOOL(has_sel_update);
> >  		PIPE_CONF_CHECK_BOOL(enable_psr2_sel_fetch);
> >  		PIPE_CONF_CHECK_BOOL(enable_psr2_su_region_et);
> >  		PIPE_CONF_CHECK_BOOL(has_panel_replay);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index 62f7a30c37dc..6747c10da298 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -1189,7 +1189,7 @@ struct intel_crtc_state {
> >
> >  	/* PSR is supported but might not be enabled due the lack of enabled
> > planes */
> >  	bool has_psr;
> > -	bool has_psr2;
> > +	bool has_sel_update;
> >  	bool enable_psr2_sel_fetch;
> >  	bool enable_psr2_su_region_et;
> >  	bool req_psr2_sdp_prior_scanline;
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > b/drivers/gpu/drm/i915/display/intel_dp.c
> > index e05e25cd4a94..a7c406a9695f 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > @@ -2660,7 +2660,7 @@ static void intel_dp_compute_vsc_sdp(struct
> > intel_dp *intel_dp,
> >  	if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
> >  		intel_dp_compute_vsc_colorimetry(crtc_state, conn_state,
> >  						 vsc);
> > -	} else if (crtc_state->has_psr2) {
> > +	} else if (crtc_state->has_psr && crtc_state->has_sel_update) {

has_psr check may not be needed if patch2 of this series is placed at 1st position.

Regards,
Animesh
> >  		/*
> >  		 * [PSR2 without colorimetry]
> >  		 * Prepare VSC Header for SU as per eDP 1.4 spec, Table 6-11
> diff
> > --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > index 151dcd0c45b6..984f13d8c0c8 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -1251,7 +1251,7 @@ static int intel_fbc_check_plane(struct
> > intel_atomic_state *state,
> >  	 * Recommendation is to keep this combination disabled
> >  	 * Bspec: 50422 HSD: 14010260002
> >  	 */
> > -	if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_psr2) {
> > +	if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_sel_update) {
> >  		plane_state->no_fbc_reason = "PSR2 enabled";
> >  		return 0;
> >  	}
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > b/drivers/gpu/drm/i915/display/intel_psr.c
> > index f5b33335a9ae..a2f7d998d342 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -651,7 +651,7 @@ void intel_psr_enable_sink(struct intel_dp
> *intel_dp,
> >  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> >  	u8 dpcd_val = DP_PSR_ENABLE;
> >
> > -	if (crtc_state->has_psr2) {
> > +	if (crtc_state->has_sel_update) {
> >  		/* Enable ALPM at sink for psr2 */
> >  		if (!crtc_state->has_panel_replay) {
> >  			drm_dp_dpcd_writeb(&intel_dp->aux,
> > @@ -1639,7 +1639,7 @@ void intel_psr_compute_config(struct intel_dp
> > *intel_dp,
> >  	if (!crtc_state->has_psr)
> >  		return;
> >
> > -	crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
> > +	crtc_state->has_sel_update = intel_psr2_config_valid(intel_dp,
> > +crtc_state);
> >  }
> >
> >  void intel_psr_get_config(struct intel_encoder *encoder, @@ -1672,7
> > +1672,7 @@ void intel_psr_get_config(struct intel_encoder *encoder,
> >  		pipe_config->has_psr = true;
> >  	}
> >
> > -	pipe_config->has_psr2 = intel_dp->psr.psr2_enabled;
> > +	pipe_config->has_sel_update = intel_dp->psr.psr2_enabled;
> >  	pipe_config->infoframes.enable |=
> > intel_hdmi_infoframe_enable(DP_SDP_VSC);
> >
> >  	if (!intel_dp->psr.psr2_enabled)
> > @@ -1960,7 +1960,7 @@ static void intel_psr_enable_locked(struct
> > intel_dp *intel_dp,
> >
> >  	drm_WARN_ON(&dev_priv->drm, intel_dp->psr.enabled);
> >
> > -	intel_dp->psr.psr2_enabled = crtc_state->has_psr2;
> > +	intel_dp->psr.psr2_enabled = crtc_state->has_sel_update;
> >  	intel_dp->psr.panel_replay_enabled = crtc_state->has_panel_replay;
> >  	intel_dp->psr.busy_frontbuffer_bits = 0;
> >  	intel_dp->psr.pipe = to_intel_crtc(crtc_state->uapi.crtc)->pipe;
> > @@ -2688,7 +2688,7 @@ void intel_psr_pre_plane_update(struct
> > intel_atomic_state *state,
> >  		needs_to_disable |=
> > intel_crtc_needs_modeset(new_crtc_state);
> >  		needs_to_disable |= !new_crtc_state->has_psr;
> >  		needs_to_disable |= !new_crtc_state->active_planes;
> > -		needs_to_disable |= new_crtc_state->has_psr2 != psr-
> > >psr2_enabled;
> > +		needs_to_disable |= new_crtc_state->has_sel_update !=
> > +psr->psr2_enabled;
> >  		needs_to_disable |= DISPLAY_VER(i915) < 11 &&
> >  			new_crtc_state->wm_level_disabled;
> >
> > --
> > 2.34.1
Hogander, Jouni April 30, 2024, 6:22 a.m. UTC | #3
On Mon, 2024-04-29 at 18:54 +0000, Manna, Animesh wrote:
> 
> 
> > -----Original Message-----
> > From: Hogander, Jouni <jouni.hogander@intel.com>
> > Sent: Monday, April 29, 2024 5:38 PM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Manna, Animesh <animesh.manna@intel.com>; Hogander, Jouni
> > <jouni.hogander@intel.com>
> > Subject: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> > has_sel_update
> > 
> > We are going to reuse has_psr2 for panel_replay as well. Rename it
> > as
> > has_sel_update to avoid confusion.
> > 
> > v2: Rebase
> > 
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > Reviewed-by: Animesh Manna <animesh.manna@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 10 +++++---
> > --
> >  drivers/gpu/drm/i915/display/intel_display.c         |  2 +-
> >  drivers/gpu/drm/i915/display/intel_display_types.h   |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dp.c              |  2 +-
> >  drivers/gpu/drm/i915/display/intel_fbc.c             |  2 +-
> >  drivers/gpu/drm/i915/display/intel_psr.c             | 10 +++++---
> > --
> >  6 files changed, 14 insertions(+), 14 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > index ccaa4cb2809b..2c391714f28e 100644
> > --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > @@ -251,11 +251,11 @@ void intel_crtc_state_dump(const struct
> > intel_crtc_state *pipe_config,
> >                 drm_printf(&p, "sdp split: %s\n",
> >                            str_enabled_disabled(pipe_config-
> > > sdp_split_enable));
> > 
> > -               drm_printf(&p, "psr: %s, psr2: %s, panel replay:
> > %s, selective
> > fetch: %s\n",
> > -                          str_enabled_disabled(pipe_config-
> > >has_psr),
> > -                          str_enabled_disabled(pipe_config-
> > >has_psr2),
> > -                          str_enabled_disabled(pipe_config-
> > > has_panel_replay),
> > -                          str_enabled_disabled(pipe_config-
> > > enable_psr2_sel_fetch));
> > +               drm_printf(&p, "psr: %s, selective update: %s,
> > panel replay:
> > %s, selective fetch: %s\n",
> > +                           str_enabled_disabled(pipe_config-
> > >has_psr),
> > +                           str_enabled_disabled(pipe_config-
> > > has_sel_update),
> > +                           str_enabled_disabled(pipe_config-
> > > has_panel_replay),
> > +                           str_enabled_disabled(pipe_config-
> > > enable_psr2_sel_fetch));
> 
> During panel-replay has_psr flag also will be true. So will get print
> as psr enabled.
> Something below may give correct info,
>                 if (pipe_config->has_panel_replay)
>                         drm_printf(&p, "psr: disabled, panel replay:
> enabled");
>                 else
>                         drm_printf(&p, "psr: %s, panel replay:
> disabled",
>                                             
> str_enabled_disabled(pipe_config->has_psr));
> 
>                 drm_printf(&p, "selective update: %s, selective
> fetch: %s\n",
>                                     
> str_enabled_disabled(pipe_config->has_sel_update),
>                                     
> str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));

This is actually not in scope of this patch. Would you mind if we
change this in separate patch not in this set?

BR,

Jouni Högander


> 
> Regards,
> Animesh
> 
> >         }
> > 
> >         drm_printf(&p, "framestart delay: %d, MSA timing delay:
> > %d\n", diff
> > --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index f45e5f02096d..c1aba4e8ac54 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -5319,7 +5319,7 @@ intel_pipe_config_compare(const struct
> > intel_crtc_state *current_config,
> >          */
> >         if (current_config->has_panel_replay || pipe_config-
> > > has_panel_replay) {
> >                 PIPE_CONF_CHECK_BOOL(has_psr);
> > -               PIPE_CONF_CHECK_BOOL(has_psr2);
> > +               PIPE_CONF_CHECK_BOOL(has_sel_update);
> >                 PIPE_CONF_CHECK_BOOL(enable_psr2_sel_fetch);
> >                 PIPE_CONF_CHECK_BOOL(enable_psr2_su_region_et);
> >                 PIPE_CONF_CHECK_BOOL(has_panel_replay);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index 62f7a30c37dc..6747c10da298 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -1189,7 +1189,7 @@ struct intel_crtc_state {
> > 
> >         /* PSR is supported but might not be enabled due the lack
> > of enabled
> > planes */
> >         bool has_psr;
> > -       bool has_psr2;
> > +       bool has_sel_update;
> >         bool enable_psr2_sel_fetch;
> >         bool enable_psr2_su_region_et;
> >         bool req_psr2_sdp_prior_scanline;
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > b/drivers/gpu/drm/i915/display/intel_dp.c
> > index e05e25cd4a94..a7c406a9695f 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > @@ -2660,7 +2660,7 @@ static void intel_dp_compute_vsc_sdp(struct
> > intel_dp *intel_dp,
> >         if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
> >                 intel_dp_compute_vsc_colorimetry(crtc_state,
> > conn_state,
> >                                                  vsc);
> > -       } else if (crtc_state->has_psr2) {
> > +       } else if (crtc_state->has_psr && crtc_state-
> > >has_sel_update) {
> >                 /*
> >                  * [PSR2 without colorimetry]
> >                  * Prepare VSC Header for SU as per eDP 1.4 spec,
> > Table 6-11
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > index 151dcd0c45b6..984f13d8c0c8 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -1251,7 +1251,7 @@ static int intel_fbc_check_plane(struct
> > intel_atomic_state *state,
> >          * Recommendation is to keep this combination disabled
> >          * Bspec: 50422 HSD: 14010260002
> >          */
> > -       if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_psr2) {
> > +       if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state-
> > >has_sel_update) {
> >                 plane_state->no_fbc_reason = "PSR2 enabled";
> >                 return 0;
> >         }
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > b/drivers/gpu/drm/i915/display/intel_psr.c
> > index f5b33335a9ae..a2f7d998d342 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -651,7 +651,7 @@ void intel_psr_enable_sink(struct intel_dp
> > *intel_dp,
> >         struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> >         u8 dpcd_val = DP_PSR_ENABLE;
> > 
> > -       if (crtc_state->has_psr2) {
> > +       if (crtc_state->has_sel_update) {
> >                 /* Enable ALPM at sink for psr2 */
> >                 if (!crtc_state->has_panel_replay) {
> >                         drm_dp_dpcd_writeb(&intel_dp->aux,
> > @@ -1639,7 +1639,7 @@ void intel_psr_compute_config(struct intel_dp
> > *intel_dp,
> >         if (!crtc_state->has_psr)
> >                 return;
> > 
> > -       crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp,
> > crtc_state);
> > +       crtc_state->has_sel_update =
> > intel_psr2_config_valid(intel_dp,
> > +crtc_state);
> >  }
> > 
> >  void intel_psr_get_config(struct intel_encoder *encoder, @@ -
> > 1672,7
> > +1672,7 @@ void intel_psr_get_config(struct intel_encoder *encoder,
> >                 pipe_config->has_psr = true;
> >         }
> > 
> > -       pipe_config->has_psr2 = intel_dp->psr.psr2_enabled;
> > +       pipe_config->has_sel_update = intel_dp->psr.psr2_enabled;
> >         pipe_config->infoframes.enable |=
> > intel_hdmi_infoframe_enable(DP_SDP_VSC);
> > 
> >         if (!intel_dp->psr.psr2_enabled)
> > @@ -1960,7 +1960,7 @@ static void intel_psr_enable_locked(struct
> > intel_dp
> > *intel_dp,
> > 
> >         drm_WARN_ON(&dev_priv->drm, intel_dp->psr.enabled);
> > 
> > -       intel_dp->psr.psr2_enabled = crtc_state->has_psr2;
> > +       intel_dp->psr.psr2_enabled = crtc_state->has_sel_update;
> >         intel_dp->psr.panel_replay_enabled = crtc_state-
> > >has_panel_replay;
> >         intel_dp->psr.busy_frontbuffer_bits = 0;
> >         intel_dp->psr.pipe = to_intel_crtc(crtc_state->uapi.crtc)-
> > >pipe;
> > @@ -2688,7 +2688,7 @@ void intel_psr_pre_plane_update(struct
> > intel_atomic_state *state,
> >                 needs_to_disable |=
> > intel_crtc_needs_modeset(new_crtc_state);
> >                 needs_to_disable |= !new_crtc_state->has_psr;
> >                 needs_to_disable |= !new_crtc_state->active_planes;
> > -               needs_to_disable |= new_crtc_state->has_psr2 !=
> > psr-
> > > psr2_enabled;
> > +               needs_to_disable |= new_crtc_state->has_sel_update
> > !=
> > +psr->psr2_enabled;
> >                 needs_to_disable |= DISPLAY_VER(i915) < 11 &&
> >                         new_crtc_state->wm_level_disabled;
> > 
> > --
> > 2.34.1
>
Hogander, Jouni April 30, 2024, 6:44 a.m. UTC | #4
On Mon, 2024-04-29 at 19:08 +0000, Manna, Animesh wrote:
> 
> 
> > -----Original Message-----
> > From: Manna, Animesh
> > Sent: Tuesday, April 30, 2024 12:24 AM
> > To: Hogander, Jouni <jouni.hogander@intel.com>; intel-
> > gfx@lists.freedesktop.org
> > Subject: RE: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> > has_sel_update
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: Hogander, Jouni <jouni.hogander@intel.com>
> > > Sent: Monday, April 29, 2024 5:38 PM
> > > To: intel-gfx@lists.freedesktop.org
> > > Cc: Manna, Animesh <animesh.manna@intel.com>; Hogander, Jouni
> > > <jouni.hogander@intel.com>
> > > Subject: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> > > has_sel_update
> > > 
> > > We are going to reuse has_psr2 for panel_replay as well. Rename
> > > it as
> > > has_sel_update to avoid confusion.
> > > 
> > > v2: Rebase
> > > 
> > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > Reviewed-by: Animesh Manna <animesh.manna@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 10 +++++-
> > > ----
> > >  drivers/gpu/drm/i915/display/intel_display.c         |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_display_types.h   |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_dp.c              |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_fbc.c             |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_psr.c             | 10 +++++-
> > > ----
> > >  6 files changed, 14 insertions(+), 14 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > index ccaa4cb2809b..2c391714f28e 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > @@ -251,11 +251,11 @@ void intel_crtc_state_dump(const struct
> > > intel_crtc_state *pipe_config,
> > >                 drm_printf(&p, "sdp split: %s\n",
> > >                            str_enabled_disabled(pipe_config-
> > > > sdp_split_enable));
> > > 
> > > -               drm_printf(&p, "psr: %s, psr2: %s, panel replay:
> > > %s, selective
> > > fetch: %s\n",
> > > -                          str_enabled_disabled(pipe_config-
> > > >has_psr),
> > > -                          str_enabled_disabled(pipe_config-
> > > >has_psr2),
> > > -                          str_enabled_disabled(pipe_config-
> > > > has_panel_replay),
> > > -                          str_enabled_disabled(pipe_config-
> > > > enable_psr2_sel_fetch));
> > > +               drm_printf(&p, "psr: %s, selective update: %s,
> > > panel replay:
> > > %s, selective fetch: %s\n",
> > > +                           str_enabled_disabled(pipe_config-
> > > >has_psr),
> > > +                           str_enabled_disabled(pipe_config-
> > > > has_sel_update),
> > > +                           str_enabled_disabled(pipe_config-
> > > > has_panel_replay),
> > > +                           str_enabled_disabled(pipe_config-
> > > > enable_psr2_sel_fetch));
> > 
> > During panel-replay has_psr flag also will be true. So will get
> > print as psr
> > enabled.
> > Something below may give correct info,
> >                 if (pipe_config->has_panel_replay)
> >                         drm_printf(&p, "psr: disabled, panel
> > replay: enabled");
> >                 else
> >                         drm_printf(&p, "psr: %s, panel replay:
> > disabled",
> >                                             
> > str_enabled_disabled(pipe_config->has_psr));
> > 
> >                 drm_printf(&p, "selective update: %s, selective
> > fetch: %s\n",
> >                                     
> > str_enabled_disabled(pipe_config->has_sel_update),
> >                                     
> > str_enabled_disabled(pipe_config-
> > > enable_psr2_sel_fetch));
> > 
> > Regards,
> > Animesh
> > 
> > >         }
> > > 
> > >         drm_printf(&p, "framestart delay: %d, MSA timing delay:
> > > %d\n", diff
> > > --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > index f45e5f02096d..c1aba4e8ac54 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > @@ -5319,7 +5319,7 @@ intel_pipe_config_compare(const struct
> > > intel_crtc_state *current_config,
> > >          */
> > >         if (current_config->has_panel_replay || pipe_config-
> > > > has_panel_replay) {
> > >                 PIPE_CONF_CHECK_BOOL(has_psr);
> > > -               PIPE_CONF_CHECK_BOOL(has_psr2);
> > > +               PIPE_CONF_CHECK_BOOL(has_sel_update);
> > >                 PIPE_CONF_CHECK_BOOL(enable_psr2_sel_fetch);
> > >                 PIPE_CONF_CHECK_BOOL(enable_psr2_su_region_et);
> > >                 PIPE_CONF_CHECK_BOOL(has_panel_replay);
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index 62f7a30c37dc..6747c10da298 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -1189,7 +1189,7 @@ struct intel_crtc_state {
> > > 
> > >         /* PSR is supported but might not be enabled due the lack
> > > of enabled
> > > planes */
> > >         bool has_psr;
> > > -       bool has_psr2;
> > > +       bool has_sel_update;
> > >         bool enable_psr2_sel_fetch;
> > >         bool enable_psr2_su_region_et;
> > >         bool req_psr2_sdp_prior_scanline;
> > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > > b/drivers/gpu/drm/i915/display/intel_dp.c
> > > index e05e25cd4a94..a7c406a9695f 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > @@ -2660,7 +2660,7 @@ static void intel_dp_compute_vsc_sdp(struct
> > > intel_dp *intel_dp,
> > >         if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
> > >                 intel_dp_compute_vsc_colorimetry(crtc_state,
> > > conn_state,
> > >                                                  vsc);
> > > -       } else if (crtc_state->has_psr2) {
> > > +       } else if (crtc_state->has_psr && crtc_state-
> > > >has_sel_update) {
> 
> has_psr check may not be needed if patch2 of this series is placed at
> 1st position.

I can drop has_psr check without order change as at this point
selective update is not possible with Panel Replay.

BR,

Jouni Högander

> 
> Regards,
> Animesh
> > >                 /*
> > >                  * [PSR2 without colorimetry]
> > >                  * Prepare VSC Header for SU as per eDP 1.4 spec,
> > > Table 6-11
> > diff
> > > --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > index 151dcd0c45b6..984f13d8c0c8 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > @@ -1251,7 +1251,7 @@ static int intel_fbc_check_plane(struct
> > > intel_atomic_state *state,
> > >          * Recommendation is to keep this combination disabled
> > >          * Bspec: 50422 HSD: 14010260002
> > >          */
> > > -       if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_psr2)
> > > {
> > > +       if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state-
> > > >has_sel_update) {
> > >                 plane_state->no_fbc_reason = "PSR2 enabled";
> > >                 return 0;
> > >         }
> > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > index f5b33335a9ae..a2f7d998d342 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > @@ -651,7 +651,7 @@ void intel_psr_enable_sink(struct intel_dp
> > *intel_dp,
> > >         struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > >         u8 dpcd_val = DP_PSR_ENABLE;
> > > 
> > > -       if (crtc_state->has_psr2) {
> > > +       if (crtc_state->has_sel_update) {
> > >                 /* Enable ALPM at sink for psr2 */
> > >                 if (!crtc_state->has_panel_replay) {
> > >                         drm_dp_dpcd_writeb(&intel_dp->aux,
> > > @@ -1639,7 +1639,7 @@ void intel_psr_compute_config(struct
> > > intel_dp
> > > *intel_dp,
> > >         if (!crtc_state->has_psr)
> > >                 return;
> > > 
> > > -       crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp,
> > > crtc_state);
> > > +       crtc_state->has_sel_update =
> > > intel_psr2_config_valid(intel_dp,
> > > +crtc_state);
> > >  }
> > > 
> > >  void intel_psr_get_config(struct intel_encoder *encoder, @@ -
> > > 1672,7
> > > +1672,7 @@ void intel_psr_get_config(struct intel_encoder
> > > *encoder,
> > >                 pipe_config->has_psr = true;
> > >         }
> > > 
> > > -       pipe_config->has_psr2 = intel_dp->psr.psr2_enabled;
> > > +       pipe_config->has_sel_update = intel_dp->psr.psr2_enabled;
> > >         pipe_config->infoframes.enable |=
> > > intel_hdmi_infoframe_enable(DP_SDP_VSC);
> > > 
> > >         if (!intel_dp->psr.psr2_enabled)
> > > @@ -1960,7 +1960,7 @@ static void intel_psr_enable_locked(struct
> > > intel_dp *intel_dp,
> > > 
> > >         drm_WARN_ON(&dev_priv->drm, intel_dp->psr.enabled);
> > > 
> > > -       intel_dp->psr.psr2_enabled = crtc_state->has_psr2;
> > > +       intel_dp->psr.psr2_enabled = crtc_state->has_sel_update;
> > >         intel_dp->psr.panel_replay_enabled = crtc_state-
> > > >has_panel_replay;
> > >         intel_dp->psr.busy_frontbuffer_bits = 0;
> > >         intel_dp->psr.pipe = to_intel_crtc(crtc_state-
> > > >uapi.crtc)->pipe;
> > > @@ -2688,7 +2688,7 @@ void intel_psr_pre_plane_update(struct
> > > intel_atomic_state *state,
> > >                 needs_to_disable |=
> > > intel_crtc_needs_modeset(new_crtc_state);
> > >                 needs_to_disable |= !new_crtc_state->has_psr;
> > >                 needs_to_disable |= !new_crtc_state-
> > > >active_planes;
> > > -               needs_to_disable |= new_crtc_state->has_psr2 !=
> > > psr-
> > > > psr2_enabled;
> > > +               needs_to_disable |= new_crtc_state-
> > > >has_sel_update !=
> > > +psr->psr2_enabled;
> > >                 needs_to_disable |= DISPLAY_VER(i915) < 11 &&
> > >                         new_crtc_state->wm_level_disabled;
> > > 
> > > --
> > > 2.34.1
>
Animesh Manna May 2, 2024, 5:33 a.m. UTC | #5
> -----Original Message-----
> From: Hogander, Jouni <jouni.hogander@intel.com>
> Sent: Tuesday, April 30, 2024 11:52 AM
> To: Manna, Animesh <animesh.manna@intel.com>; intel-
> gfx@lists.freedesktop.org
> Subject: Re: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> has_sel_update
> 
> On Mon, 2024-04-29 at 18:54 +0000, Manna, Animesh wrote:
> >
> >
> > > -----Original Message-----
> > > From: Hogander, Jouni <jouni.hogander@intel.com>
> > > Sent: Monday, April 29, 2024 5:38 PM
> > > To: intel-gfx@lists.freedesktop.org
> > > Cc: Manna, Animesh <animesh.manna@intel.com>; Hogander, Jouni
> > > <jouni.hogander@intel.com>
> > > Subject: [PATCH v8 01/11] drm/i915/psr: Rename has_psr2 as
> > > has_sel_update
> > >
> > > We are going to reuse has_psr2 for panel_replay as well. Rename it
> > > as
> > > has_sel_update to avoid confusion.
> > >
> > > v2: Rebase
> > >
> > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > Reviewed-by: Animesh Manna <animesh.manna@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 10 +++++---
> > > --
> > >  drivers/gpu/drm/i915/display/intel_display.c         |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_display_types.h   |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_dp.c              |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_fbc.c             |  2 +-
> > >  drivers/gpu/drm/i915/display/intel_psr.c             | 10 +++++---
> > > --
> > >  6 files changed, 14 insertions(+), 14 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > index ccaa4cb2809b..2c391714f28e 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > > @@ -251,11 +251,11 @@ void intel_crtc_state_dump(const struct
> > > intel_crtc_state *pipe_config,
> > >                 drm_printf(&p, "sdp split: %s\n",
> > >                            str_enabled_disabled(pipe_config-
> > > > sdp_split_enable));
> > >
> > > -               drm_printf(&p, "psr: %s, psr2: %s, panel replay:
> > > %s, selective
> > > fetch: %s\n",
> > > -                          str_enabled_disabled(pipe_config-
> > > >has_psr),
> > > -                          str_enabled_disabled(pipe_config-
> > > >has_psr2),
> > > -                          str_enabled_disabled(pipe_config-
> > > > has_panel_replay),
> > > -                          str_enabled_disabled(pipe_config-
> > > > enable_psr2_sel_fetch));
> > > +               drm_printf(&p, "psr: %s, selective update: %s,
> > > panel replay:
> > > %s, selective fetch: %s\n",
> > > +                           str_enabled_disabled(pipe_config-
> > > >has_psr),
> > > +                           str_enabled_disabled(pipe_config-
> > > > has_sel_update),
> > > +                           str_enabled_disabled(pipe_config-
> > > > has_panel_replay),
> > > +                           str_enabled_disabled(pipe_config-
> > > > enable_psr2_sel_fetch));
> >
> > During panel-replay has_psr flag also will be true. So will get print
> > as psr enabled.
> > Something below may give correct info,
> >                 if (pipe_config->has_panel_replay)
> >                         drm_printf(&p, "psr: disabled, panel replay:
> > enabled");
> >                 else
> >                         drm_printf(&p, "psr: %s, panel replay:
> > disabled",
> >
> > str_enabled_disabled(pipe_config->has_psr));
> >
> >                 drm_printf(&p, "selective update: %s, selective
> > fetch: %s\n",
> >
> > str_enabled_disabled(pipe_config->has_sel_update),
> >
> > str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
> 
> This is actually not in scope of this patch. Would you mind if we
> change this in separate patch not in this set?

Yes a separate patch will be good, but need to add in same patch series to adhere to documentation of these psr/pr related flags.

Regards,
Animesh

> 
> BR,
> 
> Jouni Högander
> 
> 
> >
> > Regards,
> > Animesh
> >
> > >         }
> > >
> > >         drm_printf(&p, "framestart delay: %d, MSA timing delay:
> > > %d\n", diff
> > > --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > index f45e5f02096d..c1aba4e8ac54 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > @@ -5319,7 +5319,7 @@ intel_pipe_config_compare(const struct
> > > intel_crtc_state *current_config,
> > >          */
> > >         if (current_config->has_panel_replay || pipe_config-
> > > > has_panel_replay) {
> > >                 PIPE_CONF_CHECK_BOOL(has_psr);
> > > -               PIPE_CONF_CHECK_BOOL(has_psr2);
> > > +               PIPE_CONF_CHECK_BOOL(has_sel_update);
> > >                 PIPE_CONF_CHECK_BOOL(enable_psr2_sel_fetch);
> > >                 PIPE_CONF_CHECK_BOOL(enable_psr2_su_region_et);
> > >                 PIPE_CONF_CHECK_BOOL(has_panel_replay);
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index 62f7a30c37dc..6747c10da298 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -1189,7 +1189,7 @@ struct intel_crtc_state {
> > >
> > >         /* PSR is supported but might not be enabled due the lack
> > > of enabled
> > > planes */
> > >         bool has_psr;
> > > -       bool has_psr2;
> > > +       bool has_sel_update;
> > >         bool enable_psr2_sel_fetch;
> > >         bool enable_psr2_su_region_et;
> > >         bool req_psr2_sdp_prior_scanline;
> > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> > > b/drivers/gpu/drm/i915/display/intel_dp.c
> > > index e05e25cd4a94..a7c406a9695f 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > @@ -2660,7 +2660,7 @@ static void intel_dp_compute_vsc_sdp(struct
> > > intel_dp *intel_dp,
> > >         if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
> > >                 intel_dp_compute_vsc_colorimetry(crtc_state,
> > > conn_state,
> > >                                                  vsc);
> > > -       } else if (crtc_state->has_psr2) {
> > > +       } else if (crtc_state->has_psr && crtc_state-
> > > >has_sel_update) {
> > >                 /*
> > >                  * [PSR2 without colorimetry]
> > >                  * Prepare VSC Header for SU as per eDP 1.4 spec,
> > > Table 6-11
> > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > index 151dcd0c45b6..984f13d8c0c8 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > @@ -1251,7 +1251,7 @@ static int intel_fbc_check_plane(struct
> > > intel_atomic_state *state,
> > >          * Recommendation is to keep this combination disabled
> > >          * Bspec: 50422 HSD: 14010260002
> > >          */
> > > -       if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_psr2) {
> > > +       if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state-
> > > >has_sel_update) {
> > >                 plane_state->no_fbc_reason = "PSR2 enabled";
> > >                 return 0;
> > >         }
> > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > index f5b33335a9ae..a2f7d998d342 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > @@ -651,7 +651,7 @@ void intel_psr_enable_sink(struct intel_dp
> > > *intel_dp,
> > >         struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > >         u8 dpcd_val = DP_PSR_ENABLE;
> > >
> > > -       if (crtc_state->has_psr2) {
> > > +       if (crtc_state->has_sel_update) {
> > >                 /* Enable ALPM at sink for psr2 */
> > >                 if (!crtc_state->has_panel_replay) {
> > >                         drm_dp_dpcd_writeb(&intel_dp->aux,
> > > @@ -1639,7 +1639,7 @@ void intel_psr_compute_config(struct intel_dp
> > > *intel_dp,
> > >         if (!crtc_state->has_psr)
> > >                 return;
> > >
> > > -       crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp,
> > > crtc_state);
> > > +       crtc_state->has_sel_update =
> > > intel_psr2_config_valid(intel_dp,
> > > +crtc_state);
> > >  }
> > >
> > >  void intel_psr_get_config(struct intel_encoder *encoder, @@ -
> > > 1672,7
> > > +1672,7 @@ void intel_psr_get_config(struct intel_encoder *encoder,
> > >                 pipe_config->has_psr = true;
> > >         }
> > >
> > > -       pipe_config->has_psr2 = intel_dp->psr.psr2_enabled;
> > > +       pipe_config->has_sel_update = intel_dp->psr.psr2_enabled;
> > >         pipe_config->infoframes.enable |=
> > > intel_hdmi_infoframe_enable(DP_SDP_VSC);
> > >
> > >         if (!intel_dp->psr.psr2_enabled)
> > > @@ -1960,7 +1960,7 @@ static void intel_psr_enable_locked(struct
> > > intel_dp
> > > *intel_dp,
> > >
> > >         drm_WARN_ON(&dev_priv->drm, intel_dp->psr.enabled);
> > >
> > > -       intel_dp->psr.psr2_enabled = crtc_state->has_psr2;
> > > +       intel_dp->psr.psr2_enabled = crtc_state->has_sel_update;
> > >         intel_dp->psr.panel_replay_enabled = crtc_state-
> > > >has_panel_replay;
> > >         intel_dp->psr.busy_frontbuffer_bits = 0;
> > >         intel_dp->psr.pipe = to_intel_crtc(crtc_state->uapi.crtc)-
> > > >pipe;
> > > @@ -2688,7 +2688,7 @@ void intel_psr_pre_plane_update(struct
> > > intel_atomic_state *state,
> > >                 needs_to_disable |=
> > > intel_crtc_needs_modeset(new_crtc_state);
> > >                 needs_to_disable |= !new_crtc_state->has_psr;
> > >                 needs_to_disable |= !new_crtc_state->active_planes;
> > > -               needs_to_disable |= new_crtc_state->has_psr2 !=
> > > psr-
> > > > psr2_enabled;
> > > +               needs_to_disable |= new_crtc_state->has_sel_update
> > > !=
> > > +psr->psr2_enabled;
> > >                 needs_to_disable |= DISPLAY_VER(i915) < 11 &&
> > >                         new_crtc_state->wm_level_disabled;
> > >
> > > --
> > > 2.34.1
> >
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index ccaa4cb2809b..2c391714f28e 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -251,11 +251,11 @@  void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		drm_printf(&p, "sdp split: %s\n",
 			   str_enabled_disabled(pipe_config->sdp_split_enable));
 
-		drm_printf(&p, "psr: %s, psr2: %s, panel replay: %s, selective fetch: %s\n",
-			   str_enabled_disabled(pipe_config->has_psr),
-			   str_enabled_disabled(pipe_config->has_psr2),
-			   str_enabled_disabled(pipe_config->has_panel_replay),
-			   str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
+		drm_printf(&p, "psr: %s, selective update: %s, panel replay: %s, selective fetch: %s\n",
+			    str_enabled_disabled(pipe_config->has_psr),
+			    str_enabled_disabled(pipe_config->has_sel_update),
+			    str_enabled_disabled(pipe_config->has_panel_replay),
+			    str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
 	}
 
 	drm_printf(&p, "framestart delay: %d, MSA timing delay: %d\n",
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index f45e5f02096d..c1aba4e8ac54 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5319,7 +5319,7 @@  intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	 */
 	if (current_config->has_panel_replay || pipe_config->has_panel_replay) {
 		PIPE_CONF_CHECK_BOOL(has_psr);
-		PIPE_CONF_CHECK_BOOL(has_psr2);
+		PIPE_CONF_CHECK_BOOL(has_sel_update);
 		PIPE_CONF_CHECK_BOOL(enable_psr2_sel_fetch);
 		PIPE_CONF_CHECK_BOOL(enable_psr2_su_region_et);
 		PIPE_CONF_CHECK_BOOL(has_panel_replay);
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 62f7a30c37dc..6747c10da298 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1189,7 +1189,7 @@  struct intel_crtc_state {
 
 	/* PSR is supported but might not be enabled due the lack of enabled planes */
 	bool has_psr;
-	bool has_psr2;
+	bool has_sel_update;
 	bool enable_psr2_sel_fetch;
 	bool enable_psr2_su_region_et;
 	bool req_psr2_sdp_prior_scanline;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index e05e25cd4a94..a7c406a9695f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2660,7 +2660,7 @@  static void intel_dp_compute_vsc_sdp(struct intel_dp *intel_dp,
 	if (intel_dp_needs_vsc_sdp(crtc_state, conn_state)) {
 		intel_dp_compute_vsc_colorimetry(crtc_state, conn_state,
 						 vsc);
-	} else if (crtc_state->has_psr2) {
+	} else if (crtc_state->has_psr && crtc_state->has_sel_update) {
 		/*
 		 * [PSR2 without colorimetry]
 		 * Prepare VSC Header for SU as per eDP 1.4 spec, Table 6-11
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 151dcd0c45b6..984f13d8c0c8 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1251,7 +1251,7 @@  static int intel_fbc_check_plane(struct intel_atomic_state *state,
 	 * Recommendation is to keep this combination disabled
 	 * Bspec: 50422 HSD: 14010260002
 	 */
-	if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_psr2) {
+	if (IS_DISPLAY_VER(i915, 12, 14) && crtc_state->has_sel_update) {
 		plane_state->no_fbc_reason = "PSR2 enabled";
 		return 0;
 	}
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index f5b33335a9ae..a2f7d998d342 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -651,7 +651,7 @@  void intel_psr_enable_sink(struct intel_dp *intel_dp,
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 	u8 dpcd_val = DP_PSR_ENABLE;
 
-	if (crtc_state->has_psr2) {
+	if (crtc_state->has_sel_update) {
 		/* Enable ALPM at sink for psr2 */
 		if (!crtc_state->has_panel_replay) {
 			drm_dp_dpcd_writeb(&intel_dp->aux,
@@ -1639,7 +1639,7 @@  void intel_psr_compute_config(struct intel_dp *intel_dp,
 	if (!crtc_state->has_psr)
 		return;
 
-	crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
+	crtc_state->has_sel_update = intel_psr2_config_valid(intel_dp, crtc_state);
 }
 
 void intel_psr_get_config(struct intel_encoder *encoder,
@@ -1672,7 +1672,7 @@  void intel_psr_get_config(struct intel_encoder *encoder,
 		pipe_config->has_psr = true;
 	}
 
-	pipe_config->has_psr2 = intel_dp->psr.psr2_enabled;
+	pipe_config->has_sel_update = intel_dp->psr.psr2_enabled;
 	pipe_config->infoframes.enable |= intel_hdmi_infoframe_enable(DP_SDP_VSC);
 
 	if (!intel_dp->psr.psr2_enabled)
@@ -1960,7 +1960,7 @@  static void intel_psr_enable_locked(struct intel_dp *intel_dp,
 
 	drm_WARN_ON(&dev_priv->drm, intel_dp->psr.enabled);
 
-	intel_dp->psr.psr2_enabled = crtc_state->has_psr2;
+	intel_dp->psr.psr2_enabled = crtc_state->has_sel_update;
 	intel_dp->psr.panel_replay_enabled = crtc_state->has_panel_replay;
 	intel_dp->psr.busy_frontbuffer_bits = 0;
 	intel_dp->psr.pipe = to_intel_crtc(crtc_state->uapi.crtc)->pipe;
@@ -2688,7 +2688,7 @@  void intel_psr_pre_plane_update(struct intel_atomic_state *state,
 		needs_to_disable |= intel_crtc_needs_modeset(new_crtc_state);
 		needs_to_disable |= !new_crtc_state->has_psr;
 		needs_to_disable |= !new_crtc_state->active_planes;
-		needs_to_disable |= new_crtc_state->has_psr2 != psr->psr2_enabled;
+		needs_to_disable |= new_crtc_state->has_sel_update != psr->psr2_enabled;
 		needs_to_disable |= DISPLAY_VER(i915) < 11 &&
 			new_crtc_state->wm_level_disabled;