diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 21 | 
1 files changed, 20 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 2cc6faa1daa8..dec0d60921bf 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -5809,7 +5809,7 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,  		intel_ddi_set_vc_payload_alloc(intel_crtc->config, false);  	if (!transcoder_is_dsi(cpu_transcoder)) -		intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder); +		intel_ddi_disable_transcoder_func(old_crtc_state);  	if (INTEL_GEN(dev_priv) >= 9)  		skylake_scaler_disable(intel_crtc); @@ -14646,6 +14646,18 @@ static void quirk_increase_t12_delay(struct drm_device *dev)  	DRM_INFO("Applying T12 delay quirk\n");  } +/* + * GeminiLake NUC HDMI outputs require additional off time + * this allows the onboard retimer to correctly sync to signal + */ +static void quirk_increase_ddi_disabled_time(struct drm_device *dev) +{ +	struct drm_i915_private *dev_priv = to_i915(dev); + +	dev_priv->quirks |= QUIRK_INCREASE_DDI_DISABLED_TIME; +	DRM_INFO("Applying Increase DDI Disabled quirk\n"); +} +  struct intel_quirk {  	int device;  	int subsystem_vendor; @@ -14732,6 +14744,13 @@ static struct intel_quirk intel_quirks[] = {  	/* Toshiba Satellite P50-C-18C */  	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay }, + +	/* GeminiLake NUC */ +	{ 0x3185, 0x8086, 0x2072, quirk_increase_ddi_disabled_time }, +	{ 0x3184, 0x8086, 0x2072, quirk_increase_ddi_disabled_time }, +	/* ASRock ITX*/ +	{ 0x3185, 0x1849, 0x2212, quirk_increase_ddi_disabled_time }, +	{ 0x3184, 0x1849, 0x2212, quirk_increase_ddi_disabled_time },  };  static void intel_init_quirks(struct drm_device *dev)  |