]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Fix CRT hotplug regression in 2.6.35-rc1
authorAndy Lutomirski <luto@MIT.EDU>
Sat, 12 Jun 2010 09:21:18 +0000 (05:21 -0400)
committerEric Anholt <eric@anholt.net>
Thu, 1 Jul 2010 22:35:57 +0000 (15:35 -0700)
commit148df39b6870a0eafd7f2c4464abd0016ea93e5e
tree75d84be3c00a5be1a80fd90935c7c9294c8eaf3a
parent4f911f9f256d47d5e8158c8b62fa6bae5226c909
drm/i915: Fix CRT hotplug regression in 2.6.35-rc1

Commit 82b4f82eb0d2ab57b77e5ed9f00c51e22c8bee5e has two bugs which
made the hotplug problems on my laptop worse instead of better.

First, it did not, in fact, disable the CRT plug interrupt -- it
disabled all the other hotplug interrupts.  It seems rather doubtful
that that bit of the patch fixed anything, so let's just remove it.
(If you want to add it back, you probably meant ~CRT_HOTPLUG_INT_EN.)

Second, on at least my GM45, setting CRT_HOTPLUG_ACTIVATION_PERIOD_64
and CRT_HOTPLUG_VOLTAGE_COMPARE_50 (when they were previously unset)
causes a hotplug interrupt about three seconds later.  The old code
never restored PORT_HOTPLUG_EN so this could only happen once, but
they new code restores those registers.  So just set those bits when
we set up the interrupt in the first place.

Signed-off-by: Andy Lutomirski <luto@mit.edu>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_crt.c