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 0627eee1cb64ef795ed421aafd793de54905b37b..b9e5266d933b7dc3b525e31676130f5f2651e026 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;