Sanitize crtc gamma mode and update the mode in driver in case BIOS has setup a different gamma mode as to what is expected by driver. There is restriction on HSW platform not to read/write color LUT's if ips is enabled. Handled the same accordingly. Credits-to: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> --- drivers/gpu/drm/i915/intel_display.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 696e6f5..03c8f68 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -15401,6 +15401,23 @@ static void intel_sanitize_crtc(struct intel_crtc *crtc, } } + /* + * Sanitize gamma mode incase BIOS leaves it in SPLIT GAMMA MODE + * Workaround HSW : Do not read or write the pipe palette/gamma data + * while GAMMA_MODE is configured for split gamma and IPS_CTL has IPS + * enabled. + */ + if (IS_HASWELL(dev_priv)) { + if (crtc_state->ips_enabled) + hsw_disable_ips(crtc_state); + + intel_color_set_csc(crtc_state); + intel_color_load_luts(crtc_state); + + if (crtc_state->ips_enabled) + hsw_enable_ips(crtc_state); + } + /* Adjust the state of the output pipe according to whether we * have active connectors/encoders. */ if (crtc_state->base.active && !intel_crtc_has_encoders(crtc)) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx