drm/i915: Extract hsw_ips_get_config()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 9 Feb 2022 11:35:24 +0000 (13:35 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 9 Feb 2022 19:51:56 +0000 (21:51 +0200)
Pull the IPS state readout into hsw_ips.c.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220209113526.7595-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/hsw_ips.c
drivers/gpu/drm/i915/display/hsw_ips.h
drivers/gpu/drm/i915/display/intel_display.c

index fb34ef615025705cdebf66eb2532594ab061b818..38014e0cc9ad5423054e5a274555d0904b0666b7 100644 (file)
@@ -249,3 +249,23 @@ int hsw_ips_compute_config(struct intel_atomic_state *state,
 
        return 0;
 }
+
+void hsw_ips_get_config(struct intel_crtc_state *crtc_state)
+{
+       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
+       struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+
+       if (!hsw_crtc_supports_ips(crtc))
+               return;
+
+       if (IS_HASWELL(i915)) {
+               crtc_state->ips_enabled = intel_de_read(i915, IPS_CTL) & IPS_ENABLE;
+       } else {
+               /*
+                * We cannot readout IPS state on broadwell, set to
+                * true so we can set it to a defined state on first
+                * commit.
+                */
+               crtc_state->ips_enabled = true;
+       }
+}
index d63bdef5100acd503466f40bb0dc6e74ec50482a..4564dee497d757cf0e0a38482f03b1694858c85e 100644 (file)
@@ -21,5 +21,6 @@ bool hsw_crtc_supports_ips(struct intel_crtc *crtc);
 bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state);
 int hsw_ips_compute_config(struct intel_atomic_state *state,
                           struct intel_crtc *crtc);
+void hsw_ips_get_config(struct intel_crtc_state *crtc_state);
 
 #endif /* __HSW_IPS_H__ */
index 628636c677b9ee5bf16fed960bddc4fa1e49ec35..06a0baba493ea450738107cbfec97bd55b0ab162 100644 (file)
@@ -4191,19 +4191,7 @@ static bool hsw_get_pipe_config(struct intel_crtc *crtc,
                        ilk_get_pfit_config(pipe_config);
        }
 
-       if (hsw_crtc_supports_ips(crtc)) {
-               if (IS_HASWELL(dev_priv))
-                       pipe_config->ips_enabled = intel_de_read(dev_priv,
-                                                                IPS_CTL) & IPS_ENABLE;
-               else {
-                       /*
-                        * We cannot readout IPS state on broadwell, set to
-                        * true so we can set it to a defined state on first
-                        * commit.
-                        */
-                       pipe_config->ips_enabled = true;
-               }
-       }
+       hsw_ips_get_config(pipe_config);
 
        if (pipe_config->cpu_transcoder != TRANSCODER_EDP &&
            !transcoder_is_dsi(pipe_config->cpu_transcoder)) {