Patchwork [stable] drm/i915 patches fix Latitude E6410 video issues.

login
register
mail settings
Submitter Manoj Iyer
Date July 28, 2010, 6:45 p.m.
Message ID <alpine.DEB.2.00.1007281324380.9348@lazy>
Download mbox | patch
Permalink /patch/60168/
State Accepted
Delegated to: Steve Conklin
Headers show

Comments

Manoj Iyer - July 28, 2010, 6:45 p.m.
Please consider the following upstream commits to stable 2.6.33.y

1. drm/i915: add PANEL_UNLOCK_REGS definition
    SHAID: 4a655f043160eeae447efd3be297b6b4c397a640
2. drm/i915: make sure eDP panel is turned on
    SHAID: 9934c132989d5c488d2e15188220ce240960ce96

Depends on

3. drm/i915: Rename intel_output to intel_encoder.
    SHAID: 21d40d37eca86872f2bf0af995809ebdef25c9d9


These patches fix video issues on Dell Latitude E6410. Reported in bugs

http://launchpad.net/bugs/578673
http://launchpad.net/bugs/561802

The patches apply cleanly to 2.6.33.y (see attachments), and they were 
tested against the latest Lucid kernel and reported to fix the 2 issues. 
Kernel was tested by user community, as well as, on hardware available at 
Canonical.

Regarding the issue with dim back-light on resume, Jesse wrote to me saying 
he suspects some other agent like firmware might be a suspect in zeroing 
it out before the driver saves it, ie driver seems to do the right thing.

Regards
Manoj Iyer
Brad Figg - July 29, 2010, 5:21 p.m.
On 07/28/2010 11:45 AM, Manoj Iyer wrote:
>
> Please consider the following upstream commits to stable 2.6.33.y
>
> 1. drm/i915: add PANEL_UNLOCK_REGS definition
> SHAID: 4a655f043160eeae447efd3be297b6b4c397a640
> 2. drm/i915: make sure eDP panel is turned on
> SHAID: 9934c132989d5c488d2e15188220ce240960ce96
>
> Depends on
>
> 3. drm/i915: Rename intel_output to intel_encoder.
> SHAID: 21d40d37eca86872f2bf0af995809ebdef25c9d9
>
>
> These patches fix video issues on Dell Latitude E6410. Reported in bugs
>
> http://launchpad.net/bugs/578673
> http://launchpad.net/bugs/561802
>
> The patches apply cleanly to 2.6.33.y (see attachments), and they were tested against the latest Lucid kernel and reported to fix the 2 issues. Kernel was tested by user community, as well as, on hardware available at Canonical.
>
> Regarding the issue with dim back-light on resume, Jesse wrote to me saying he suspects some other agent like firmware might be a suspect in zeroing it out before the driver saves it, ie driver seems to do the right thing.
>
> Regards
> Manoj Iyer
>

I'm Ack-ing the first two patches and Nak-ing the third. I'm not sure
stable upstream will take the third and it will be a thorn in our side
if only we are carrying it.

Brad
Greg KH - July 29, 2010, 10:32 p.m.
On Wed, Jul 28, 2010 at 01:45:21PM -0500, Manoj Iyer wrote:
> 
> Please consider the following upstream commits to stable 2.6.33.y
> 
> 1. drm/i915: add PANEL_UNLOCK_REGS definition
>    SHAID: 4a655f043160eeae447efd3be297b6b4c397a640
> 2. drm/i915: make sure eDP panel is turned on
>    SHAID: 9934c132989d5c488d2e15188220ce240960ce96
> 
> Depends on
> 
> 3. drm/i915: Rename intel_output to intel_encoder.
>    SHAID: 21d40d37eca86872f2bf0af995809ebdef25c9d9

That's too big of a patch for a -stable release, sorry.

thanks,

greg k-h

Patch

From c2c8974fa36741068d0a7c178dd8eb64dd3d1a0f Mon Sep 17 00:00:00 2001
From: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Thu, 22 Jul 2010 13:18:18 -0700
Subject: [PATCH 3/3] drm/i915: add PANEL_UNLOCK_REGS definition

In some cases, unlocking the panel regs is safe and can help us avoid a
flickery, full mode set sequence.  So define the unlock key and use it.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 4a655f043160eeae447efd3be297b6b4c397a640)

Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com>

Buglink: http://launchpad.net/bugs/578673
         http://launchpad.net/bugs/561802
---

 drivers/gpu/drm/i915/i915_reg.h      |    1 +
 drivers/gpu/drm/i915/intel_display.c |    6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h

index 30a2322..b048c74 100644

--- a/drivers/gpu/drm/i915/i915_reg.h

+++ b/drivers/gpu/drm/i915/i915_reg.h

@@ -2445,6 +2445,7 @@ 

 
 #define PCH_PP_STATUS		0xc7200
 #define PCH_PP_CONTROL		0xc7204
+#define  PANEL_UNLOCK_REGS	(0xabcd << 16)

 #define  EDP_FORCE_VDD		(1 << 3)
 #define  EDP_BLC_ENABLE		(1 << 2)
 #define  PANEL_POWER_RESET	(1 << 1)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c

index 89d521d..d3895a6 100644

--- a/drivers/gpu/drm/i915/intel_display.c

+++ b/drivers/gpu/drm/i915/intel_display.c

@@ -3932,7 +3932,8 @@  static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule)

 		DRM_DEBUG_DRIVER("upclocking LVDS\n");
 
 		/* Unlock panel regs */
-		I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) | (0xabcd << 16));

+		I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) |

+			   PANEL_UNLOCK_REGS);

 
 		dpll &= ~DISPLAY_RATE_SELECT_FPA1;
 		I915_WRITE(dpll_reg, dpll);
@@ -3975,7 +3976,8 @@  static void intel_decrease_pllclock(struct drm_crtc *crtc)

 		DRM_DEBUG_DRIVER("downclocking LVDS\n");
 
 		/* Unlock panel regs */
-		I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) | (0xabcd << 16));

+		I915_WRITE(PP_CONTROL, I915_READ(PP_CONTROL) |

+			   PANEL_UNLOCK_REGS);

 
 		dpll |= DISPLAY_RATE_SELECT_FPA1;
 		I915_WRITE(dpll_reg, dpll);
-- 

1.7.0.4