drm/i915: Enable eDP DRRS on ilk/snb port A
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 11 Mar 2022 17:24:26 +0000 (19:24 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 14 Mar 2022 22:16:25 +0000 (00:16 +0200)
Nothing special about ivb+ here, if DRRS works on ivb+ port A
it should work just as well on ilk/snb. So let's enable
that.

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

index 24f773583dd38d690d816aa2f7fc5ed6c91cfe5f..35c27d67d584d85fb02826486888e6b5295e5aac 100644 (file)
@@ -1838,9 +1838,6 @@ static int i915_drrs_ctl_set(void *data, u64 val)
        struct drm_device *dev = &dev_priv->drm;
        struct intel_crtc *crtc;
 
-       if (DISPLAY_VER(dev_priv) < 7)
-               return -ENODEV;
-
        for_each_intel_crtc(dev, crtc) {
                struct intel_crtc_state *crtc_state;
                struct drm_crtc_commit *commit;
index fd956775698e0bcf2adddeca1980d629ac9dcc9a..981eb37d613edc7d14cdb98ce36312878e693753 100644 (file)
@@ -158,10 +158,10 @@ static void intel_drrs_set_state(struct intel_crtc *crtc,
        if (refresh_rate == crtc->drrs.refresh_rate)
                return;
 
-       if (DISPLAY_VER(dev_priv) >= 8 && !IS_CHERRYVIEW(dev_priv))
-               intel_drrs_set_refresh_rate_m_n(crtc, refresh_rate);
-       else if (DISPLAY_VER(dev_priv) > 6)
+       if (intel_cpu_transcoder_has_m2_n2(dev_priv, crtc->drrs.cpu_transcoder))
                intel_drrs_set_refresh_rate_pipeconf(crtc, refresh_rate);
+       else
+               intel_drrs_set_refresh_rate_m_n(crtc, refresh_rate);
 
        crtc->drrs.refresh_rate = refresh_rate;
 }
@@ -374,7 +374,7 @@ intel_drrs_init(struct intel_connector *connector,
        struct intel_encoder *encoder = connector->encoder;
        struct drm_display_mode *downclock_mode;
 
-       if (DISPLAY_VER(dev_priv) <= 6) {
+       if (DISPLAY_VER(dev_priv) < 5) {
                drm_dbg_kms(&dev_priv->drm,
                            "[CONNECTOR:%d:%s] DRRS not supported on platform\n",
                            connector->base.base.id, connector->base.name);