drm/i915/drrs: convert intel_drrs.[ch] to struct intel_display
authorJani Nikula <jani.nikula@intel.com>
Tue, 25 Feb 2025 16:49:07 +0000 (18:49 +0200)
committerJani Nikula <jani.nikula@intel.com>
Thu, 27 Feb 2025 10:26:04 +0000 (12:26 +0200)
Going forward, struct intel_display is the main display device data
pointer. Convert as much as possible of intel_drrs.[ch] to struct
intel_display.

Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/02a5189e349f91e58d3907fdf8d0d3c4c5384f4d.1740502116.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_drrs.c
drivers/gpu/drm/i915/display/intel_drrs.h
drivers/gpu/drm/i915/display/intel_frontbuffer.c

index 0e501ec7e73a718b74a00cd2f0b9e79be84521a5..267b05b742beb10dee8e477c5f97a4481384e01d 100644 (file)
@@ -2912,7 +2912,7 @@ static bool can_enable_drrs(struct intel_connector *connector,
                            const struct intel_crtc_state *pipe_config,
                            const struct drm_display_mode *downclock_mode)
 {
-       struct drm_i915_private *i915 = to_i915(connector->base.dev);
+       struct intel_display *display = to_intel_display(connector);
 
        if (pipe_config->vrr.enable)
                return false;
@@ -2930,7 +2930,7 @@ static bool can_enable_drrs(struct intel_connector *connector,
        if (pipe_config->has_pch_encoder)
                return false;
 
-       if (!intel_cpu_transcoder_has_drrs(i915, pipe_config->cpu_transcoder))
+       if (!intel_cpu_transcoder_has_drrs(display, pipe_config->cpu_transcoder))
                return false;
 
        return downclock_mode &&
index 0fec01b79b233ccaa4795f1af644d77549961f78..bf420400b5051c2a14832a44f961a0465e591ae8 100644 (file)
@@ -65,10 +65,10 @@ const char *intel_drrs_type_str(enum drrs_type drrs_type)
        return str[drrs_type];
 }
 
-bool intel_cpu_transcoder_has_drrs(struct drm_i915_private *i915,
+bool intel_cpu_transcoder_has_drrs(struct intel_display *display,
                                   enum transcoder cpu_transcoder)
 {
-       struct intel_display *display = &i915->display;
+       struct drm_i915_private *i915 = to_i915(display->drm);
 
        if (HAS_DOUBLE_BUFFERED_M_N(display))
                return true;
@@ -80,16 +80,16 @@ static void
 intel_drrs_set_refresh_rate_pipeconf(struct intel_crtc *crtc,
                                     enum drrs_refresh_rate refresh_rate)
 {
-       struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+       struct intel_display *display = to_intel_display(crtc);
        enum transcoder cpu_transcoder = crtc->drrs.cpu_transcoder;
        u32 bit;
 
-       if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
+       if (display->platform.valleyview || display->platform.cherryview)
                bit = TRANSCONF_REFRESH_RATE_ALT_VLV;
        else
                bit = TRANSCONF_REFRESH_RATE_ALT_ILK;
 
-       intel_de_rmw(dev_priv, TRANSCONF(dev_priv, cpu_transcoder),
+       intel_de_rmw(display, TRANSCONF(display, cpu_transcoder),
                     bit, refresh_rate == DRRS_REFRESH_RATE_LOW ? bit : 0);
 }
 
@@ -132,13 +132,13 @@ static void intel_drrs_schedule_work(struct intel_crtc *crtc)
 
 static unsigned int intel_drrs_frontbuffer_bits(const struct intel_crtc_state *crtc_state)
 {
+       struct intel_display *display = to_intel_display(crtc_state);
        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
-       struct drm_i915_private *i915 = to_i915(crtc->base.dev);
        unsigned int frontbuffer_bits;
 
        frontbuffer_bits = INTEL_FRONTBUFFER_ALL_MASK(crtc->pipe);
 
-       for_each_intel_crtc_in_pipe_mask(&i915->drm, crtc,
+       for_each_intel_crtc_in_pipe_mask(display->drm, crtc,
                                         crtc_state->joiner_pipes)
                frontbuffer_bits |= INTEL_FRONTBUFFER_ALL_MASK(crtc->pipe);
 
@@ -222,13 +222,13 @@ static void intel_drrs_downclock_work(struct work_struct *work)
        mutex_unlock(&crtc->drrs.mutex);
 }
 
-static void intel_drrs_frontbuffer_update(struct drm_i915_private *dev_priv,
+static void intel_drrs_frontbuffer_update(struct intel_display *display,
                                          unsigned int all_frontbuffer_bits,
                                          bool invalidate)
 {
        struct intel_crtc *crtc;
 
-       for_each_intel_crtc(&dev_priv->drm, crtc) {
+       for_each_intel_crtc(display->drm, crtc) {
                unsigned int frontbuffer_bits;
 
                mutex_lock(&crtc->drrs.mutex);
@@ -262,7 +262,7 @@ static void intel_drrs_frontbuffer_update(struct drm_i915_private *dev_priv,
 
 /**
  * intel_drrs_invalidate - Disable Idleness DRRS
- * @dev_priv: i915 device
+ * @display: display device
  * @frontbuffer_bits: frontbuffer plane tracking bits
  *
  * This function gets called everytime rendering on the given planes start.
@@ -270,15 +270,15 @@ static void intel_drrs_frontbuffer_update(struct drm_i915_private *dev_priv,
  *
  * Dirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.
  */
-void intel_drrs_invalidate(struct drm_i915_private *dev_priv,
+void intel_drrs_invalidate(struct intel_display *display,
                           unsigned int frontbuffer_bits)
 {
-       intel_drrs_frontbuffer_update(dev_priv, frontbuffer_bits, true);
+       intel_drrs_frontbuffer_update(display, frontbuffer_bits, true);
 }
 
 /**
  * intel_drrs_flush - Restart Idleness DRRS
- * @dev_priv: i915 device
+ * @display: display device
  * @frontbuffer_bits: frontbuffer plane tracking bits
  *
  * This function gets called every time rendering on the given planes has
@@ -288,10 +288,10 @@ void intel_drrs_invalidate(struct drm_i915_private *dev_priv,
  *
  * Dirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.
  */
-void intel_drrs_flush(struct drm_i915_private *dev_priv,
+void intel_drrs_flush(struct intel_display *display,
                      unsigned int frontbuffer_bits)
 {
-       intel_drrs_frontbuffer_update(dev_priv, frontbuffer_bits, false);
+       intel_drrs_frontbuffer_update(display, frontbuffer_bits, false);
 }
 
 /**
@@ -312,7 +312,7 @@ void intel_drrs_crtc_init(struct intel_crtc *crtc)
 static int intel_drrs_debugfs_status_show(struct seq_file *m, void *unused)
 {
        struct intel_crtc *crtc = m->private;
-       struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+       struct intel_display *display = to_intel_display(crtc);
        const struct intel_crtc_state *crtc_state;
        int ret;
 
@@ -325,7 +325,7 @@ static int intel_drrs_debugfs_status_show(struct seq_file *m, void *unused)
        mutex_lock(&crtc->drrs.mutex);
 
        seq_printf(m, "DRRS capable: %s\n",
-                  str_yes_no(intel_cpu_transcoder_has_drrs(i915,
+                  str_yes_no(intel_cpu_transcoder_has_drrs(display,
                                                            crtc_state->cpu_transcoder)));
 
        seq_printf(m, "DRRS enabled: %s\n",
@@ -353,7 +353,7 @@ DEFINE_SHOW_ATTRIBUTE(intel_drrs_debugfs_status);
 static int intel_drrs_debugfs_ctl_set(void *data, u64 val)
 {
        struct intel_crtc *crtc = data;
-       struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+       struct intel_display *display = to_intel_display(crtc);
        struct intel_crtc_state *crtc_state;
        struct drm_crtc_commit *commit;
        int ret;
@@ -375,8 +375,7 @@ static int intel_drrs_debugfs_ctl_set(void *data, u64 val)
                        goto out;
        }
 
-       drm_dbg(&i915->drm,
-               "Manually %sactivating DRRS\n", val ? "" : "de");
+       drm_dbg_kms(display->drm, "Manually %sactivating DRRS\n", val ? "" : "de");
 
        if (val)
                intel_drrs_activate(crtc_state);
index 0982f95eab727a4f48b6da749646e8a6f96147bd..32b45a93a68f19a53328e356cb18036dccd726fe 100644 (file)
 
 enum drrs_type;
 enum transcoder;
-struct drm_i915_private;
 struct intel_atomic_state;
+struct intel_connector;
 struct intel_crtc;
 struct intel_crtc_state;
-struct intel_connector;
+struct intel_display;
 
-bool intel_cpu_transcoder_has_drrs(struct drm_i915_private *i915,
+bool intel_cpu_transcoder_has_drrs(struct intel_display *display,
                                   enum transcoder cpu_transcoder);
 const char *intel_drrs_type_str(enum drrs_type drrs_type);
 bool intel_drrs_is_active(struct intel_crtc *crtc);
 void intel_drrs_activate(const struct intel_crtc_state *crtc_state);
 void intel_drrs_deactivate(const struct intel_crtc_state *crtc_state);
-void intel_drrs_invalidate(struct drm_i915_private *dev_priv,
+void intel_drrs_invalidate(struct intel_display *display,
                           unsigned int frontbuffer_bits);
-void intel_drrs_flush(struct drm_i915_private *dev_priv,
+void intel_drrs_flush(struct intel_display *display,
                      unsigned int frontbuffer_bits);
 void intel_drrs_crtc_init(struct intel_crtc *crtc);
 void intel_drrs_crtc_debugfs_add(struct intel_crtc *crtc);
index 2fa4b0bf27c3d7fc6e6c610d132ec01c59517ae4..89a145b3194c7552c95bc467b30b11d1bf8976d8 100644 (file)
@@ -99,7 +99,7 @@ static void frontbuffer_flush(struct drm_i915_private *i915,
 
        might_sleep();
        intel_td_flush(display);
-       intel_drrs_flush(i915, frontbuffer_bits);
+       intel_drrs_flush(display, frontbuffer_bits);
        intel_psr_flush(display, frontbuffer_bits, origin);
        intel_fbc_flush(i915, frontbuffer_bits, origin);
 }
@@ -189,7 +189,7 @@ void __intel_fb_invalidate(struct intel_frontbuffer *front,
 
        might_sleep();
        intel_psr_invalidate(display, frontbuffer_bits, origin);
-       intel_drrs_invalidate(i915, frontbuffer_bits);
+       intel_drrs_invalidate(display, frontbuffer_bits);
        intel_fbc_invalidate(i915, frontbuffer_bits, origin);
 }