[Intel-gfx] [PATCH] drm/i915: Fix black screen bug on Dell e6510
Jesse Barnes
jbarnes at virtuousgeek.org
Thu Sep 23 21:14:34 CEST 2010
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.
>
>
> --- drivers/gpu/drm/i915/intel_dp.c.orig 2010-09-23 20:13:36.046856913 +0200
> +++ drivers/gpu/drm/i915/intel_dp.c 2010-09-23 19:27:00.682282002 +0200
> @@ -27,6 +27,7 @@
>
> #include <linux/i2c.h>
> #include <linux/slab.h>
> +#include <linux/delay.h>
> #include "drmP.h"
> #include "drm.h"
> #include "drm_crtc.h"
> @@ -772,6 +773,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 +807,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);
> }
Power sequencing is pretty ugly with eDP, so it's likely other panels
will need the additional delays here as well. So:
Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org>
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list