[PATCH v2 10/11] drm/i915/display: Rename intel_psr_needs_block_dc_vblank

Kahola, Mika mika.kahola at intel.com
Tue Apr 8 12:28:08 UTC 2025


> -----Original Message-----
> From: Intel-xe <intel-xe-bounces at lists.freedesktop.org> On Behalf Of Jouni
> Högander
> Sent: Monday, 17 March 2025 10.19
> To: intel-gfx at lists.freedesktop.org; intel-xe at lists.freedesktop.org
> Cc: Hogander, Jouni <jouni.hogander at intel.com>
> Subject: [PATCH v2 10/11] drm/i915/display: Rename
> intel_psr_needs_block_dc_vblank
> 
> Scope of intel_psr_needs_block_dc_vblank has changed now. Rename it as
> intel_psr_needs_vblank_notification. Also rename
> intel_crtc::block_dc_for_vblank as intel_crtc:vblank_psr_notify
> 

Reviewed-by: Mika Kahola <mika.kahola at intel.com>

> Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_crtc.c          | 4 ++--
>  drivers/gpu/drm/i915/display/intel_display_irq.c   | 4 ++--
>  drivers/gpu/drm/i915/display/intel_display_types.h | 2 +-
>  drivers/gpu/drm/i915/display/intel_psr.c           | 8 +++++---
>  drivers/gpu/drm/i915/display/intel_psr.h           | 2 +-
>  5 files changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> b/drivers/gpu/drm/i915/display/intel_crtc.c
> index 5b2603ef2ff75..bdf30ab963967 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -124,7 +124,7 @@ void intel_crtc_vblank_on(const struct intel_crtc_state
> *crtc_state)  {
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> 
> -	crtc->block_dc_for_vblank =
> intel_psr_needs_block_dc_vblank(crtc_state);
> +	crtc->vblank_psr_notify =
> +intel_psr_needs_vblank_notification(crtc_state);
> 
>  	assert_vblank_disabled(&crtc->base);
>  	drm_crtc_set_max_vblank_count(&crtc->base,
> @@ -154,7 +154,7 @@ void intel_crtc_vblank_off(const struct intel_crtc_state
> *crtc_state)
>  	drm_crtc_vblank_off(&crtc->base);
>  	assert_vblank_disabled(&crtc->base);
> 
> -	crtc->block_dc_for_vblank = false;
> +	crtc->vblank_psr_notify = false;
> 
>  	flush_work(&display->irq.vblank_dc_work);
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c
> b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index 62fbdcbb4a123..833f8227da803 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> @@ -1742,7 +1742,7 @@ int bdw_enable_vblank(struct drm_crtc *_crtc)
>  	if (gen11_dsi_configure_te(crtc, true))
>  		return 0;
> 
> -	if (crtc->block_dc_for_vblank && display->irq.vblank_wa_num_pipes++
> == 0)
> +	if (crtc->vblank_psr_notify && display->irq.vblank_wa_num_pipes++ ==
> +0)
>  		schedule_work(&display->irq.vblank_dc_work);
> 
>  	spin_lock_irqsave(&dev_priv->irq_lock, irqflags); @@ -1773,7 +1773,7
> @@ void bdw_disable_vblank(struct drm_crtc *_crtc)
>  	bdw_disable_pipe_irq(dev_priv, pipe, GEN8_PIPE_VBLANK);
>  	spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
> 
> -	if (crtc->block_dc_for_vblank && --display->irq.vblank_wa_num_pipes
> == 0)
> +	if (crtc->vblank_psr_notify && --display->irq.vblank_wa_num_pipes ==
> +0)
>  		schedule_work(&display->irq.vblank_dc_work);
>  }
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 3d203a2003f10..4f3fdfacbc1b1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1440,7 +1440,7 @@ struct intel_crtc {
>  	struct intel_pipe_crc pipe_crc;
>  #endif
> 
> -	bool block_dc_for_vblank;
> +	bool vblank_psr_notify;
>  };
> 
>  struct intel_plane_error {
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index d2a28a83e4f20..228996f1f26d2 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -2354,15 +2354,17 @@ void intel_psr_resume(struct intel_dp *intel_dp)  }
> 
>  /**
> - * intel_psr_needs_block_dc_vblank - Check if block dc entry is needed
> + * intel_psr_needs_vblank_notification - Check if PSR need vblank
> + enable/disable
> + * notification.
>   * @crtc_state: CRTC status
>   *
>   * We need to block DC6 entry in case of Panel Replay as enabling VBI doesn't
>   * prevent it in case of Panel Replay. Panel Replay switches main link off on
>   * DC entry. This means vblank interrupts are not fired and is a problem if
> - * user-space is polling for vblank events.
> + * user-space is polling for vblank events. Also Wa_16025596647 needs
> + * information when vblank is enabled/disabled.
>   */
> -bool intel_psr_needs_block_dc_vblank(const struct intel_crtc_state *crtc_state)
> +bool intel_psr_needs_vblank_notification(const struct intel_crtc_state
> +*crtc_state)
>  {
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  	struct intel_display *display = to_intel_display(crtc_state); diff --git
> a/drivers/gpu/drm/i915/display/intel_psr.h
> b/drivers/gpu/drm/i915/display/intel_psr.h
> index a914b7ee3756a..c61384bb7382a 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.h
> +++ b/drivers/gpu/drm/i915/display/intel_psr.h
> @@ -59,7 +59,7 @@ void intel_psr2_program_trans_man_trk_ctl(struct
> intel_dsb *dsb,
>  					  const struct intel_crtc_state
> *crtc_state);  void intel_psr_pause(struct intel_dp *intel_dp);  void
> intel_psr_resume(struct intel_dp *intel_dp); -bool
> intel_psr_needs_block_dc_vblank(const struct intel_crtc_state *crtc_state);
> +bool intel_psr_needs_vblank_notification(const struct intel_crtc_state
> +*crtc_state);
>  void intel_psr_notify_pipe_change(struct intel_atomic_state *state,
>  				  struct intel_crtc *crtc, bool enable);  void
> intel_psr_notify_dc5_dc6(struct intel_display *display);
> --
> 2.43.0



More information about the Intel-xe mailing list