]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
start .32 queue
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 17 Mar 2010 14:23:27 +0000 (07:23 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 17 Mar 2010 14:23:27 +0000 (07:23 -0700)
queue-2.6.32/drm-i915-fix-gpio-register-detection-logic-for-bios-without-vbt.patch [new file with mode: 0644]
queue-2.6.32/series [new file with mode: 0644]

diff --git a/queue-2.6.32/drm-i915-fix-gpio-register-detection-logic-for-bios-without-vbt.patch b/queue-2.6.32/drm-i915-fix-gpio-register-detection-logic-for-bios-without-vbt.patch
new file mode 100644 (file)
index 0000000..fdbb031
--- /dev/null
@@ -0,0 +1,60 @@
+From 29874f44fbcbc24b231b42c9956f8f9de9407231 Mon Sep 17 00:00:00 2001
+From: Shaohua Li <shaohua.li@intel.com>
+Date: Wed, 18 Nov 2009 15:15:02 +0800
+Subject: drm/i915: fix gpio register detection logic for BIOS without VBT
+
+From: Shaohua Li <shaohua.li@intel.com>
+
+commit 29874f44fbcbc24b231b42c9956f8f9de9407231 upstream.
+
+if no VBT is present, crt_ddc_bus will be left at 0, and cause us
+to use that for the GPIO register offset. That's never a valid register
+offset, so let the "undefined" value be 0 instead of -1.
+
+Signed-off-by: Shaohua Li <shaohua.li@intel.com>
+Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+[anholt: clarified the commit message a bit]
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/i915/i915_drv.h   |    2 +-
+ drivers/gpu/drm/i915/intel_bios.c |    4 ----
+ drivers/gpu/drm/i915/intel_crt.c  |    2 +-
+ 3 files changed, 2 insertions(+), 6 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_drv.h
++++ b/drivers/gpu/drm/i915/i915_drv.h
+@@ -258,7 +258,7 @@ typedef struct drm_i915_private {
+       struct notifier_block lid_notifier;
+-      int crt_ddc_bus; /* -1 = unknown, else GPIO to use for CRT DDC */
++      int crt_ddc_bus; /* 0 = unknown, else GPIO to use for CRT DDC */
+       struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */
+       int fence_reg_start; /* 4 if userland hasn't ioctl'd us yet */
+       int num_fence_regs; /* 8 on pre-965, 16 otherwise */
+--- a/drivers/gpu/drm/i915/intel_bios.c
++++ b/drivers/gpu/drm/i915/intel_bios.c
+@@ -241,10 +241,6 @@ parse_general_definitions(struct drm_i91
+               GPIOF,
+       };
+-      /* Set sensible defaults in case we can't find the general block
+-         or it is the wrong chipset */
+-      dev_priv->crt_ddc_bus = -1;
+-
+       general = find_section(bdb, BDB_GENERAL_DEFINITIONS);
+       if (general) {
+               u16 block_size = get_blocksize(general);
+--- a/drivers/gpu/drm/i915/intel_crt.c
++++ b/drivers/gpu/drm/i915/intel_crt.c
+@@ -557,7 +557,7 @@ void intel_crt_init(struct drm_device *d
+       else {
+               i2c_reg = GPIOA;
+               /* Use VBT information for CRT DDC if available */
+-              if (dev_priv->crt_ddc_bus != -1)
++              if (dev_priv->crt_ddc_bus != 0)
+                       i2c_reg = dev_priv->crt_ddc_bus;
+       }
+       intel_output->ddc_bus = intel_i2c_create(dev, i2c_reg, "CRTDDC_A");
diff --git a/queue-2.6.32/series b/queue-2.6.32/series
new file mode 100644 (file)
index 0000000..eebe9d0
--- /dev/null
@@ -0,0 +1 @@
+drm-i915-fix-gpio-register-detection-logic-for-bios-without-vbt.patch