Re: [PATCH 02/17] drm/i915: Warn if stealing power sequencer from an active eDP port

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

 



On Tue, Oct 28, 2014 at 09:34:40AM +0100, Daniel Vetter wrote:
> On Tue, Oct 28, 2014 at 10:14:54AM +0200, Ville Syrjälä wrote:
> > On Tue, Oct 28, 2014 at 09:10:13AM +0100, Daniel Vetter wrote:
> > > On Thu, Oct 16, 2014 at 09:27:28PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote:
> > > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > > 
> > > > eDP ports need the power seqeuncer whenever the port is active. Warn if
> > > > we accidentally steal the power sequener from an active eDP port. This
> > > > should not happen unless there's a bug somewhere else, but it's best to
> > > > scream loudly if it happens to help with debugging.
> > > > 
> > > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > > ---
> > > >  drivers/gpu/drm/i915/intel_dp.c | 4 ++++
> > > >  1 file changed, 4 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > > > index de919e9..7ac5c47 100644
> > > > --- a/drivers/gpu/drm/i915/intel_dp.c
> > > > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > > > @@ -2606,6 +2606,10 @@ static void vlv_steal_power_sequencer(struct drm_device *dev,
> > > >  		DRM_DEBUG_KMS("stealing pipe %c power sequencer from port %c\n",
> > > >  			      pipe_name(pipe), port_name(port));
> > > >  
> > > > +		WARN(encoder->connectors_active,
> > > 
> > > This only checks for the pipe actually running, i.e. dpms on. But I guess
> > > we actually want to check for logically enabled (i.e. no matter the dpms
> > > state) to make sure we can always transition from dpms off to on again.
> > > That should check for encoder->base.crtc instead.
> > 
> > We can allow stealing the power sequencer whenever the port is not
> > running. When the port gets re-enabled the power seqeuencer gets
> > stolen back.
> 
> Hm, but how does this work if we run out of power sequencers? Generally
> dpms on isn't allowed to fail, so if there's any shared resources we need
> to keep them reserved.
> 
> Or am I super-dense again?

Currently it shouldn't fail. We have two power sequencers and at most two
eDP ports. If that should change we need to rethink this code.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
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