On Thu, 23 Sep 2010 20:36:47 +0200 Hette Visser <[email protected]> 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 <[email protected]> -- Jesse Barnes, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
