[Intel-gfx] [PATCH] drm/i915: vlv: fix DP PHY lockup due to invalid PP sequencer setup

Imre Deak imre.deak at intel.com
Thu Jan 30 17:48:35 CET 2014


On Thu, 2014-01-30 at 18:22 +0200, Jani Nikula wrote:
> On Thu, 30 Jan 2014, Daniel Vetter <daniel at ffwll.ch> wrote:
> > On Thu, Jan 30, 2014 at 04:50:42PM +0200, Imre Deak wrote:
> >> Atm we setup the HW panel power sequencer logic both for eDP and DP
> >> ports. On eDP we then go on and start the power on sequence and commence
> >> with link training when it's ready. On DP we don't do the power on
> >> sequencing but do the link training immediately. At this point the DP
> >> PHY block gets stuck, since - supposedly - it is waiting for the power
> >> on sequence to finish. The actual register write that seems to hold off
> >> the PHY is PIPEX_PP_ON_DELAYS[Panel Control Port Select]. Writing here
> >> a non-0 value eventually sets PIPEX_PP_STATUS[Require Asset Status] to
> >> 1 and blocks the PHY until the panel power on is ready.
> >> 
> >> Fix this by not doing any PP sequencing setup for DP ports.
> >> 
> >> Thanks to Ville Syrjälä, Jesse Barnes and Todd Previte for the help in
> >> tracking this down.
> >> 
> >> Signed-off-by: Imre Deak <imre.deak at intel.com>
> >
> > Ah, the infamous ABCD hack we're using all over the place in intel_lvds.c.
> > On edp we didn't have a need for it thus far since the "require asset
> > status" checks have all been fused of, with the PP being on the PCH and
> > the edp port on the north display block. If this is really all we need to
> > appease the hardware then I'm heavily in favour of it as opposed to
> > resurrect the ABCD hack for intel_dp.c.
> >
> > One thing though: Should we add a check for the "Required Asset Status"
> > bit somewhere? I don't really have a good idea for a spot to put this
> > into, hence the question.
> 
> Don't know about the asset status stuff, but I know it was me who
> screwed this up in
> 
> commit bf13e81b904a37d94d83dd6c3b53a147719a3ead
> Author: Jani Nikula <jani.nikula at intel.com>
> Date:   Fri Sep 6 07:40:05 2013 +0300
> 
>     drm/i915: add support for per-pipe power sequencing on vlv
> 
> We need to make sure the PP registers are set up correctly on the pipe
> being enabled, which might be different from the last time. But only for
> eDP.
> 
> I'm a bit surprised this hasn't been bisected to.

One thing making that more difficult is buggy VBTs. If that reports the
DP port being eDP, like in my case, you won't see the problem.

--Imre

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20140130/f6a2b65d/attachment.sig>


More information about the Intel-gfx mailing list