Re: [PATCH] drm/i915: Ignore pipe B active state when enabling pipe C

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2015-03-09 at 11:24 +0200, Jani Nikula wrote:
> On Mon, 09 Mar 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> wrote:
> > When enabling pipe C, the check for the number of lanes pipe B uses was
> > ignored in case pipe B wasn't active. This would allow pipe C to be
> > configured while pipe B is in DPMS off state even if it used more than 2
> > lanes. Making pipe B active again while pipe C was also active would
> > then fail.
> 
> Seems like a good catch. Broken when, or since forever? Cc: stable?
> Bugzillas?

I had to touch this code in the last patch series I submitted, and I
raised a concern that this might do the wrong thing. Daniel suggested a
tried the test case I described above, which indeed does fail. I haven't
done the actual history digging until a minute ago, which turns out
quite interesting. The exact opposite of this patch was done in the
following patch:

commit 1fbc0d789d12fec313c91912fc11733fdfbab863
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date:   Tue Oct 29 12:04:08 2013 +0100

    drm/i915: Fix the PPT fdi lane bifurcate state handling on ivb

I'm not sure how much has changed since then, or if the comments on that
commit's message are still relevant. Particularly, if the unifying of
mode set and dpms on code was ever done, and if it has any effect here.

Ander.


> >
> > Tested-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
> > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 597c10b..4008bf4 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -3150,8 +3150,7 @@ static void intel_fdi_normal_train(struct drm_crtc *crtc)
> >  
> >  static bool pipe_has_enabled_pch(struct intel_crtc *crtc)
> >  {
> > -	return crtc->base.state->enable && crtc->active &&
> > -		crtc->config->has_pch_encoder;
> > +	return crtc->base.state->enable && crtc->config->has_pch_encoder;
> >  }
> >  
> >  static void ivb_modeset_global_resources(struct drm_device *dev)
> > -- 
> > 2.1.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 


_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux