summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/hsw_ips.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2022-02-09 13:35:24 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2022-02-09 21:51:56 +0200
commit28f5f8884e7cb9cff5375db487a8ca7cd3fd599f (patch)
treec042d4bdc571d8ddc57c0903d83d91bc8216b057 /drivers/gpu/drm/i915/display/hsw_ips.c
parentf3b603de2ff41eb915d75163f7212bbf177950d1 (diff)
downloadlinux-28f5f8884e7cb9cff5375db487a8ca7cd3fd599f.tar.gz
linux-28f5f8884e7cb9cff5375db487a8ca7cd3fd599f.tar.bz2
linux-28f5f8884e7cb9cff5375db487a8ca7cd3fd599f.zip
drm/i915: Extract hsw_ips_get_config()
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>
Diffstat (limited to 'drivers/gpu/drm/i915/display/hsw_ips.c')
-rw-r--r--drivers/gpu/drm/i915/display/hsw_ips.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/hsw_ips.c b/drivers/gpu/drm/i915/display/hsw_ips.c
index fb34ef615025..38014e0cc9ad 100644
--- a/drivers/gpu/drm/i915/display/hsw_ips.c
+++ b/drivers/gpu/drm/i915/display/hsw_ips.c
@@ -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;
+ }
+}