RE: [PATCH 3/5] drm/i915/display: convert intel_has_pending_fb_unpin() to struct intel_display

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Jani
> Nikula
> Sent: Tuesday, March 4, 2025 3:58 PM
> To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; intel-xe@xxxxxxxxxxxxxxxxxxxxx
> Cc: Nikula, Jani <jani.nikula@xxxxxxxxx>
> Subject: [PATCH 3/5] drm/i915/display: convert intel_has_pending_fb_unpin()
> to struct intel_display
> 
> Going forward, struct intel_display is the main display device data pointer. The
> intel_display.[ch] files are too big to convert in one go. Convert
> intel_has_pending_fb_unpin() to struct intel_display.
> 
> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c     |  3 ++-
>  drivers/gpu/drm/i915/display/intel_display.c | 10 +++++-----
> drivers/gpu/drm/i915/display/intel_display.h |  4 ++--
>  drivers/gpu/drm/i915/display/intel_dp.c      |  3 +--
>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c |  3 ++-
>  5 files changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 3b7ec0be9011..676c1826f15c 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -4660,6 +4660,7 @@ static int intel_ddi_init_dp_connector(struct
> intel_digital_port *dig_port)  static int intel_hdmi_reset_link(struct
> intel_encoder *encoder,
>  				 struct drm_modeset_acquire_ctx *ctx)  {
> +	struct intel_display *display = to_intel_display(encoder);
>  	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>  	struct intel_hdmi *hdmi = enc_to_intel_hdmi(encoder);
>  	struct intel_connector *connector = hdmi->attached_connector; @@
> -4726,7 +4727,7 @@ static int intel_hdmi_reset_link(struct intel_encoder
> *encoder,
>  	 * would be perfectly happy if were to just reconfigure
>  	 * the SCDC settings on the fly.
>  	 */
> -	return intel_modeset_commit_pipes(dev_priv, BIT(crtc->pipe), ctx);
> +	return intel_modeset_commit_pipes(display, BIT(crtc->pipe), ctx);
>  }
> 
>  static void intel_ddi_link_check(struct intel_encoder *encoder) diff --git
> a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index debf9826fd2f..6962bc0da53c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -764,12 +764,12 @@ static void icl_set_pipe_chicken(const struct
> intel_crtc_state *crtc_state)
>  	intel_de_write(dev_priv, PIPE_CHICKEN(pipe), tmp);  }
> 
> -bool intel_has_pending_fb_unpin(struct drm_i915_private *dev_priv)
> +bool intel_has_pending_fb_unpin(struct intel_display *display)
>  {
>  	struct drm_crtc *crtc;
>  	bool cleanup_done;
> 
> -	drm_for_each_crtc(crtc, &dev_priv->drm) {
> +	drm_for_each_crtc(crtc, display->drm) {
>  		struct drm_crtc_commit *commit;
>  		spin_lock(&crtc->commit_lock);
>  		commit = list_first_entry_or_null(&crtc->commit_list,
> @@ -5574,7 +5574,7 @@ int intel_modeset_all_pipes_late(struct
> intel_atomic_state *state,
>  	return 0;
>  }
> 
> -int intel_modeset_commit_pipes(struct drm_i915_private *i915,
> +int intel_modeset_commit_pipes(struct intel_display *display,
>  			       u8 pipe_mask,
>  			       struct drm_modeset_acquire_ctx *ctx)  { @@ -
> 5582,14 +5582,14 @@ int intel_modeset_commit_pipes(struct
> drm_i915_private *i915,
>  	struct intel_crtc *crtc;
>  	int ret;
> 
> -	state = drm_atomic_state_alloc(&i915->drm);
> +	state = drm_atomic_state_alloc(display->drm);
>  	if (!state)
>  		return -ENOMEM;
> 
>  	state->acquire_ctx = ctx;
>  	to_intel_atomic_state(state)->internal = true;
> 
> -	for_each_intel_crtc_in_pipe_mask(&i915->drm, crtc, pipe_mask) {
> +	for_each_intel_crtc_in_pipe_mask(display->drm, crtc, pipe_mask) {
>  		struct intel_crtc_state *crtc_state =
>  			intel_atomic_get_crtc_state(state, crtc);
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h
> b/drivers/gpu/drm/i915/display/intel_display.h
> index 83a820b72a6e..65245ef04347 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -457,7 +457,7 @@ int vlv_get_cck_clock(struct drm_i915_private
> *dev_priv,
>  		      const char *name, u32 reg, int ref_freq);  int
> vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv,
>  			   const char *name, u32 reg);
> -bool intel_has_pending_fb_unpin(struct drm_i915_private *dev_priv);
> +bool intel_has_pending_fb_unpin(struct intel_display *display);
>  void intel_encoder_destroy(struct drm_encoder *encoder);  struct
> drm_display_mode *  intel_encoder_current_mode(struct intel_encoder
> *encoder); @@ -531,7 +531,7 @@ int
> intel_modeset_pipes_in_mask_early(struct intel_atomic_state *state,
>  				      const char *reason, u8 pipe_mask);  int
> intel_modeset_all_pipes_late(struct intel_atomic_state *state,
>  				 const char *reason);
> -int intel_modeset_commit_pipes(struct drm_i915_private *i915,
> +int intel_modeset_commit_pipes(struct intel_display *display,
>  			       u8 pipe_mask,
>  			       struct drm_modeset_acquire_ctx *ctx);  void
> intel_modeset_get_crtc_power_domains(struct intel_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 205ec315b413..a236b5fc7a3d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -5193,7 +5193,6 @@ static int intel_dp_retrain_link(struct intel_encoder
> *encoder,
>  				 struct drm_modeset_acquire_ctx *ctx)  {
>  	struct intel_display *display = to_intel_display(encoder);
> -	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>  	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>  	u8 pipe_mask;
>  	int ret;
> @@ -5224,7 +5223,7 @@ static int intel_dp_retrain_link(struct intel_encoder
> *encoder,
>  		    encoder->base.base.id, encoder->base.name,
>  		    str_yes_no(intel_dp->link.force_retrain));
> 
> -	ret = intel_modeset_commit_pipes(dev_priv, pipe_mask, ctx);
> +	ret = intel_modeset_commit_pipes(display, pipe_mask, ctx);
>  	if (ret == -EDEADLK)
>  		return ret;
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
> b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
> index 00f7cd6debf3..0c723e7c71a2 100644
> --- a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
> +++ b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
> @@ -328,6 +328,7 @@ static bool fence_is_active(const struct i915_fence_reg
> *fence)
> 
>  static struct i915_fence_reg *fence_find(struct i915_ggtt *ggtt)  {
> +	struct intel_display *display = &ggtt->vm.i915->display;
>  	struct i915_fence_reg *active = NULL;
>  	struct i915_fence_reg *fence, *fn;
> 
> @@ -353,7 +354,7 @@ static struct i915_fence_reg *fence_find(struct
> i915_ggtt *ggtt)
>  	}
> 
>  	/* Wait for completion of pending flips which consume fences */
> -	if (intel_has_pending_fb_unpin(ggtt->vm.i915))
> +	if (intel_has_pending_fb_unpin(display))
>  		return ERR_PTR(-EAGAIN);
> 
LGTM,
Reviewed-by: Nemesa Garg <nemesa.garg@xxxxxxxxx>
>  	return ERR_PTR(-ENOBUFS);
> --
> 2.39.5





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux