drm/i915/display: convert intel_has_pending_fb_unpin() to struct intel_display
authorJani Nikula <jani.nikula@intel.com>
Tue, 4 Mar 2025 10:27:32 +0000 (12:27 +0200)
committerJani Nikula <jani.nikula@intel.com>
Wed, 5 Mar 2025 18:04:41 +0000 (20:04 +0200)
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.

Reviewed-by: Nemesa Garg <nemesa.garg@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/d70ad8f9cbba5ee32d985b76047b56996ad4b31e.1741084010.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display.h
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c

index 3b7ec0be90114aa33932e1d210b88796e12e0d33..676c1826f15cd71dc31123c140b694f4159e4c2e 100644 (file)
@@ -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)
index debf9826fd2f8a1e3e588b8da698a37625091f60..6962bc0da53ce524a51eb102996c6562b583e3a8 100644 (file)
@@ -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);
 
index 83a820b72a6e3536eda638bc555726980efd53e1..65245ef0434768e1e54f489378576e1f61e6264e 100644 (file)
@@ -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,
index 205ec315b413ff60e7ee6ad191f241046846559e..a236b5fc7a3d7b8fd1c806d21a08c263dafc182e 100644 (file)
@@ -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;
 
index 0ffba50981e3ba7a90ba4639e2d811d03cad7770..f6b780f893f56e2c8c3145ffdd2b14ac7a5e1779 100644 (file)
@@ -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);