[Bug 59841] [IVB cpu eDP] panel is broken due to 657445fe86 (eDP bpp clamping)
bugzilla-daemon at bugzilla.kernel.org
bugzilla-daemon at bugzilla.kernel.org
Mon Sep 2 06:24:36 PDT 2013
https://bugzilla.kernel.org/show_bug.cgi?id=59841
--- Comment #90 from jkp <jkp at iki.fi> ---
Here's a patch to introduce a new module load-time parameter to make i915
ignore the vbe edp bpp value. Off by default, can be added via e.g. grub by
GRUB_CMDLINE_LINUX="i915.i915_ignore_edp_bpp=1 ..." in /etc/default/grub and
then running update-grub. Tested to work on the Asus TX300.
Hopefully something like this could be added to the kernel as an interim
solution to make things work for now. Hopefully in the future a smart way can
be found to recognize the hardware properties so the user won't have to handle
this manually.
diff -ur linux-3.11-rc7.virgin/drivers/gpu/drm/i915/i915_drv.c
linux-3.11-rc7/drivers/gpu/drm/i915/i915_drv.c
--- linux-3.11-rc7.virgin/drivers/gpu/drm/i915/i915_drv.c 2013-08-26
03:43:22.000000000 +0300
+++ linux-3.11-rc7/drivers/gpu/drm/i915/i915_drv.c 2013-09-02
16:07:21.720367365 +0300
@@ -132,6 +132,10 @@
module_param_named(enable_ips, i915_enable_ips, int, 0600);
MODULE_PARM_DESC(enable_ips, "Enable IPS (default: true)");
+bool i915_ignore_edp_bpp __read_mostly = false;
+module_param_named(i915_ignore_edp_bpp, i915_ignore_edp_bpp, bool, 0600);
+MODULE_PARM_DESC(i915_ignore_edp_bpp, "Ignore BDB edp BPP value (default:
false)");
+
static struct drm_driver driver;
extern int intel_agp_enabled;
diff -ur linux-3.11-rc7.virgin/drivers/gpu/drm/i915/i915_drv.h
linux-3.11-rc7/drivers/gpu/drm/i915/i915_drv.h
--- linux-3.11-rc7.virgin/drivers/gpu/drm/i915/i915_drv.h 2013-08-26
03:43:22.000000000 +0300
+++ linux-3.11-rc7/drivers/gpu/drm/i915/i915_drv.h 2013-09-02
16:02:25.140359422 +0300
@@ -1543,6 +1543,7 @@
extern unsigned int i915_preliminary_hw_support __read_mostly;
extern int i915_disable_power_well __read_mostly;
extern int i915_enable_ips __read_mostly;
+extern bool i915_ignore_edp_bpp __read_mostly;
extern int i915_suspend(struct drm_device *dev, pm_message_t state);
extern int i915_resume(struct drm_device *dev);
diff -ur linux-3.11-rc7.virgin/drivers/gpu/drm/i915/intel_dp.c
linux-3.11-rc7/drivers/gpu/drm/i915/intel_dp.c
--- linux-3.11-rc7.virgin/drivers/gpu/drm/i915/intel_dp.c 2013-08-26
03:43:22.000000000 +0300
+++ linux-3.11-rc7/drivers/gpu/drm/i915/intel_dp.c 2013-09-02
16:03:35.360361303 +0300
@@ -710,7 +710,7 @@
/* Walk through all bpp values. Luckily they're all nicely spaced with 2
* bpc in between. */
bpp = pipe_config->pipe_bpp;
- if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp)
+ if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp && !i915_ignore_edp_bpp)
bpp = min_t(int, bpp, dev_priv->vbt.edp_bpp);
for (; bpp >= 6*3; bpp -= 2*3) {
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the intel-gfx-bugs
mailing list