===============================================================
Subject: [PATCH] CHROMIUM: i915: Added default LVDS options for the no-VBT case
Added a function that sets the LVDS values to default settings (currently only
dither bit) when there is no VBT (video BIOS table) found. Also updated dither
bit in parse function to be set by default.
Signed-off-by: Simon Que <sque@chromium.org>
BUG=none
TEST=Splash screen looks dithered upon boot.
Change-Id: If19c763824ee938ad107f655d8d94c65e39cfa56
---
drivers/gpu/drm/i915/intel_bios.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
b/drivers/gpu/drm/i915/intel_bios.c
@@ -120,7 +120,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
struct drm_display_mode *temp_mode;
/* Defaults if we can't find VBT info */
- dev_priv->lvds_dither = 0;
+ dev_priv->lvds_dither = 1;
dev_priv->lvds_vbt = 0;
lvds_options = find_section(bdb, BDB_LVDS_OPTIONS);
@@ -501,6 +501,13 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
}
return;
}
+
+static void
+get_no_vbt_default_settings(struct drm_i915_private *dev_priv)
+{
+ dev_priv->lvds_dither = 1;
+}
+
/**
* intel_init_bios - initialize VBIOS settings & find VBT
* @dev: DRM device
@@ -541,6 +548,7 @@ intel_init_bios(struct drm_device *dev)
if (!vbt) {
DRM_ERROR("VBT signature missing\n");
pci_unmap_rom(pdev, bios);
+ get_no_vbt_default_settings(dev_priv);
return -1;
}