Message ID | d70ad8f9cbba5ee32d985b76047b56996ad4b31e.1741084010.git.jani.nikula@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/i915/display: convert intel_display.[ch] to struct intel_display | expand |
> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Jani > Nikula > Sent: Tuesday, March 4, 2025 3:58 PM > To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org > Cc: Nikula, Jani <jani.nikula@intel.com> > 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@intel.com> > --- > 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@intel.com> > return ERR_PTR(-ENOBUFS); > -- > 2.39.5
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); return ERR_PTR(-ENOBUFS);
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@intel.com> --- 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(-)