3f22d63
From c3d75c94de553c3084dd4dfd0d5d9aa6e53f3457 Mon Sep 17 00:00:00 2001
3f22d63
From: Hans de Goede <hdegoede@redhat.com>
3f22d63
Date: Tue, 29 Jan 2019 12:53:32 +0100
3f22d63
Subject: [PATCH] drm/i915: Enable fastboot by default on VLV and CHV
3f22d63
3f22d63
We really want to have fastboot enabled by default to avoid an ugly
3f22d63
modeset during boot.
3f22d63
3f22d63
Currently we are enabling fastboot by default on gen9+ (Skylake and newer).
3f22d63
The intention is to enable it on older generations after it has seen more
3f22d63
testing on gen9+.
3f22d63
3f22d63
VLV and CHV devices are still being sold in stores today, as such it is
3f22d63
desirable to also enable fastboot by default on these now.
3f22d63
3f22d63
I've extensively tested fastboot=1 support on over 50 different
3f22d63
Bay- and Cherry-Trail devices. Testing DSI and eDP panels as well as
3f22d63
HDMI output (and even DP over Type-C on one device).
3f22d63
3f22d63
All 50 devices work fine with fastboot=1. On 2 devices their DSI panel
3f22d63
turns black as soon as the i915 driver loads when fastboot=0, so having
3f22d63
fastboot enabled is required for these 2 to work properly (for lack of
3f22d63
a better fix).
3f22d63
3f22d63
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
3f22d63
---
3f22d63
 drivers/gpu/drm/i915/intel_display.c | 10 +++++++++-
3f22d63
 1 file changed, 9 insertions(+), 1 deletion(-)
3f22d63
3f22d63
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
3f22d63
index d756d7358292..0ff42a38023c 100644
3f22d63
--- a/drivers/gpu/drm/i915/intel_display.c
3f22d63
+++ b/drivers/gpu/drm/i915/intel_display.c
3f22d63
@@ -11672,7 +11672,15 @@ static bool fastboot_enabled(struct drm_i915_private *dev_priv)
3f22d63
 		return i915_modparams.fastboot;
3f22d63
 
3f22d63
 	/* Enable fastboot by default on Skylake and newer */
3f22d63
-	return INTEL_GEN(dev_priv) >= 9;
3f22d63
+	if (INTEL_GEN(dev_priv) >= 9)
3f22d63
+		return true;
3f22d63
+
3f22d63
+	/* Enable fastboot by default on VLV and CHV */
3f22d63
+	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
3f22d63
+		return true;
3f22d63
+
3f22d63
+	/* Disabled by default on all others */
3f22d63
+	return false;
3f22d63
 }
3f22d63
 
3f22d63
 static bool
3f22d63
-- 
3f22d63
2.20.1
3f22d63