[Intel-gfx] [PATCH 2/4] drm/i915: Disable/enable planes as the first/last thing during modeset on gmch platforms

Chris Wilson chris at chris-wilson.co.uk
Tue May 13 10:23:48 CEST 2014


On Fri, May 09, 2014 at 12:28:19PM +0300, Ville Syrjälä wrote:
> On Fri, May 09, 2014 at 07:22:16AM +0100, Chris Wilson wrote:
> > On Thu, May 08, 2014 at 07:23:14PM +0300, ville.syrjala at linux.intel.com wrote:
> > > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > 
> > > We already moved the plane disable/enable to happen as the first/last
> > > thing on every other platforms. Follow suit with gmch platforms.
> > 
> > There is merit in the argument here. Still nerve wracking. Will need to
> > check to see if there a counter-argument in the specs.
> 
> I've gone through the specs and didn't spot anything explicit. Some
> of the modeset sequences do list enabling planes before the ports
> and disabling planes after the ports though. But eg. in gen2/3 specs
> there are two different sequences: one for modeset, and one for
> enable/disable. In the modeset sequence only planes and pipes are
> toggled off and on and ports are left enabled for the whole time,
> and in the enable/disable sequence ports are turned off first and
> back on last. So I think in general you can do these in any order
> you like as long as planes aren't enabled when the pipe isn't.

Right, the specs are nicely muddled with different sequences for
different encoders. But whenever it turns the pipe (or keeps it on for
the sequence) before the planes it has the caveat "only registers that
are double buffered should be updated while the display pipe is enabled
in order to avoid screen glitches".

So yes, so long as we adhere to that rule, it does look like the
pipe/plane ordering is arbitrary.
 
> Also we can turn the planes on and off as we like while everything is
> up and running so I don't see why the modeset sequence should really
> care about planes.
> 
> And we should really be able to light up the display without any planes
> being active, eg. if a screensaver just turns off all the planes to
> show a black screen and then DPMS kicks in and turns everything off.
> When it comes back from DPMS the user should still see the same black
> screen until some plane gets enabled.
> 
> But still if you find anything alarming in the specs I may need to
> rethink this.

Nope. Though we can harangue Daniel for not delivering the quick
modechange for integrated panels. ;

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list