drm/i915/glk: Load the degamma LUT even in legacy gamma mode
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Fri, 17 Feb 2017 12:06:28 +0000 (14:06 +0200)
committerAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Fri, 17 Feb 2017 15:14:28 +0000 (17:14 +0200)
In Geminilake, the degamma table is enabled or disabled by the pipe CSC
enable bit, so its active even when running in the legacy gamma mode.
So always set sane values for that table, since the default value is all
zeroes.

This fixes blank screens after a suspend/resume cycle while legacy gamma
is in use.

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/20170217120630.6143-2-ander.conselvan.de.oliveira@intel.com
drivers/gpu/drm/i915/intel_color.c

index 0627eee..b9e5266 100644 (file)
@@ -483,12 +483,13 @@ static void glk_load_luts(struct drm_crtc_state *state)
        struct intel_crtc_state *intel_state = to_intel_crtc_state(state);
        enum pipe pipe = to_intel_crtc(crtc)->pipe;
 
+       glk_load_degamma_lut(state);
+
        if (crtc_state_is_legacy(state)) {
                haswell_load_luts(state);
                return;
        }
 
-       glk_load_degamma_lut(state);
        bdw_load_gamma_lut(state, 0);
 
        intel_state->gamma_mode = GAMMA_MODE_MODE_10BIT;