[Intel-gfx] [PATCH] drm/i915: Fix black screen bug on Dell e6510

Hette Visser hettevisser at gmail.com
Fri Sep 24 10:21:08 CEST 2010


2010/9/23 Chris Wilson <chris at chris-wilson.co.uk>:
> On Thu, 23 Sep 2010 20:36:47 +0200, Hette Visser <hettevisser at gmail.com> wrote:
>> This patch fixes the black screen bug on Dell e6510:
>> https://bugs.freedesktop.org/show_bug.cgi?id=29278
>>
>> It adds two delays to give the eDP panel time to turn on before we
>> continue with the next write.
>
> Can you please base your patches on -next as Jesse has been working in
> that area as well -- so it will first be necessary to see if the patch is
> still necessary.
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre
>

I've tried the -next kernel and the patch is still necessary for the
eDP panel to work.
Here's the patch for the -next kernel:

--- drivers/gpu/drm/i915/intel_dp.c.orig	2010-09-24 10:10:00.956591002 +0200
+++ drivers/gpu/drm/i915/intel_dp.c	2010-09-24 10:10:48.940587000 +0200
@@ -772,6 +772,7 @@ static void ironlake_edp_panel_on (struc
 	pp |= PANEL_UNLOCK_REGS | POWER_TARGET_ON;
 	I915_WRITE(PCH_PP_CONTROL, pp);

+	msleep(300);
 	if (wait_for(I915_READ(PCH_PP_STATUS) & PP_ON, 5000, 10))
 		DRM_ERROR("panel on wait timed out: 0x%08x\n",
 			  I915_READ(PCH_PP_STATUS));
@@ -805,6 +806,7 @@ static void ironlake_edp_panel_off (stru
 	pp |= EDP_FORCE_VDD | PANEL_POWER_RESET; /* restore panel reset bit */
 	I915_WRITE(PCH_PP_CONTROL, pp);
 	POSTING_READ(PCH_PP_CONTROL);
+	msleep(300);
 }



More information about the Intel-gfx mailing list