[PATCH 09/15] drm/i915: Ignore VBT int_crt_support on 830M

ville.syrjala
2014-06-05T16:16:37Z

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

My Fujitsu-Siemens Lifebook S6010 definitely has a VGA connector, but
the VBT says different. Ignore the VBT for 830M since it seems such
old machines would generally have a VGA connector.

This is a regression caused by:
commit 9c2a03c2a194c086949f25d332937ac8dc4d9f7e
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Fri Apr 4 16:12:07 2014 -0700

drm/i915: use VBT to determine whether to enumerate the VGA port

While at it refactor the code a bit to be more pleasing to the eye.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index b5cbb28..3d51ceb 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11368,6 +11368,21 @@ const char *intel_output_name(int output)
return names[output];
}

+static bool intel_crt_support(struct drm_device *dev)
+{
+ struct drm_i915_private *dev_priv = dev->dev_private;
+
+ /* no hardware support whatsoever */
+ if (IS_ULT(dev) || IS_CHERRYVIEW(dev))
+ return false;
+
+ /* Fujitsu-Siemens Lifebook S6010 VBT lies */
+ if (IS_I830(dev))
+ return true;
+
+ return dev_priv->vbt.int_crt_support;
+}
+
static void intel_setup_outputs(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
@@ -11376,7 +11391,7 @@ static void intel_setup_outputs(struct drm_device *dev)

intel_lvds_init(dev);

- if (!IS_ULT(dev) && !IS_CHERRYVIEW(dev) && dev_priv->vbt.int_crt_support)
+ if (intel_crt_support(dev))
intel_crt_init(dev);

if (HAS_DDI(dev)) {
--
1.8.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org