drm/i915/glk: Fix Geminilake scalers mode programming
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Thu, 23 Feb 2017 07:16:00 +0000 (09:16 +0200)
committerAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Thu, 23 Feb 2017 12:57:01 +0000 (14:57 +0200)
Geminilake scalers can do 7x7 filtering for all supported input sizes,
so it doesn't need the "high quality" mode programming, which was
actually removed from that platform.

v2: Split dev_priv parameter change out. (Ville)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>,
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170223071600.14356-5-ander.conselvan.de.oliveira@intel.com
drivers/gpu/drm/i915/intel_atomic.c

index 58916e32c6c4db660e923319d778592b6e19bf00..e65818e5d2abf24e6a655fffe472d91d1c4db7c3 100644 (file)
@@ -247,7 +247,9 @@ int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
                }
 
                /* set scaler mode */
-               if (num_scalers_need == 1 && intel_crtc->pipe != PIPE_C) {
+               if (IS_GEMINILAKE(dev_priv)) {
+                       scaler_state->scalers[*scaler_id].mode = 0;
+               } else if (num_scalers_need == 1 && intel_crtc->pipe != PIPE_C) {
                        /*
                         * when only 1 scaler is in use on either pipe A or B,
                         * scaler 0 operates in high quality (HQ) mode.