[Intel-gfx] [PATCH] drm/i915: push commit_output_state past the crtc/encoder preparing

Daniel Vetter daniel.vetter at ffwll.ch
Wed Sep 5 21:48:52 CEST 2012


On Wed, Sep 5, 2012 at 8:28 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
>
> The variables have me confused a little... I would have expected
> update_state to take modeset_pipes rather than prepare_pipes.  Could
> you use either?  Or will that not catch cases where we updated a pipe
> that was already on?

The abstract idea for these masks was the following: Any pipe that
changes anything goes into prepare_pipes. For any pipe that also
changes the mode, it goes in addition into the modeset_pipes mask, so
the later is a subset of prepare pipes. The idea here was to avoid the
modeset step where not necessary (e.g. when disabling the 2nd output
of a cloned crtc we only need to disable/enable, not change anything
with the mode or clocks). But after some in-depth discussion with
Paulo Zanoni I think we'll move large parts of the mode_set step into
the enable function (at least for hsw due to funky ordering
requirements), so I think this disdinction doesn't make sense.

The disable mask just contains those pipes that get fully disable (and
which then also get removed from the prepares/modset masks).

Hence I pass the prepares mask into update_states, not just the modeset mask.
-Daniel
-- 
Daniel Vetter
daniel.vetter at ffwll.ch - +41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list