|
@@ -5838,7 +5838,7 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
|
|
|
intel_ddi_set_vc_payload_alloc(old_crtc_state, 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);
|
|
@@ -14806,6 +14806,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;
|
|
@@ -14892,6 +14904,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)
|