All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Keith Packard <keithp@keithp.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	stable@kernel.org
Subject: Re: [PATCH] drm/i915: enable vdd when switching off the eDP panel
Date: Tue, 22 May 2012 08:14:55 +0200	[thread overview]
Message-ID: <20120522061455.GA4672@phenom.ffwll.local> (raw)
In-Reply-To: <86vcjphtnl.fsf@sumi.keithp.com>

On Mon, May 21, 2012 at 06:49:18PM -0700, Keith Packard wrote:
> Daniel Vetter <daniel@ffwll.ch> writes:
> 
> >> --- a/drivers/gpu/drm/i915/intel_dp.c
> >> +++ b/drivers/gpu/drm/i915/intel_dp.c
> >> @@ -1154,11 +1154,10 @@ static void ironlake_edp_panel_off(struct intel_dp *intel_dp)
> >>  
> >>  	DRM_DEBUG_KMS("Turn eDP power off\n");
> >>  
> >> -	WARN(intel_dp->want_panel_vdd, "Cannot turn power off while VDD is on\n");
> >> -	ironlake_panel_vdd_off_sync(intel_dp); /* finish any pending work */
> >> +	WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n");
> >>  
> >>  	pp = ironlake_get_pp_control(dev_priv);
> >> -	pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE);
> >> +	pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE);
> 
> Can you explain where the panel is getting turned off here?

Well, before this change the edp power off sequence was:
- switch vdd off (or more precise: ensure it's off)
- switch backlight off
- switch panel power off (i.e. the above function)

Now the new sequence is (always with the right amounts of delays,
obviously):
- switch vdd on
- switch backlight off
- switch panel off
- switch vdd off

That's why I've had to remove the EDP_FORCE_VDD bit from the above
bitfrobbing, because we now want vdd to stay on while we do the power
sequence above.

The reason is that we have a callchain (in intel_dp_prepare) where we do
some aux channel communication after having switched off the panel. And
that needs vdd, but because edp_panel_off killed that, things got
confused.
-Daniel
-- 
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48

      reply	other threads:[~2012-05-22  6:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-20 15:14 [PATCH] drm/i915: enable vdd when switching off the eDP panel Daniel Vetter
2012-05-21 16:40 ` Daniel Vetter
2012-05-21 19:09   ` Chris Wilson
2012-05-22  1:49   ` Keith Packard
2012-05-22  6:14     ` Daniel Vetter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120522061455.GA4672@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=keithp@keithp.com \
    --cc=stable@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.