OSDN Git Service

drm/i915: add direct encoder disable/enable infrastructure
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 29 Jun 2012 20:40:09 +0000 (22:40 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 6 Sep 2012 05:53:16 +0000 (07:53 +0200)
commitef9c3aee60442d1eaf81fbd7b63f256410cc0aa9
treeee3c942b4cae46e7e643b7f3490d50f6c34fba4c
parenteae307a5304f8c0956b8eab75596abba7ad58a5c
drm/i915: add direct encoder disable/enable infrastructure

Just prep work, not yet put to some use.

Note that because we're still using the crtc helper to switch modes
(and their complicated way to do partial modesets), we need to call
the encoder's disable function unconditionally.

But once this is cleaned up we shouldn't call the encoder's disable
function unconditionally any more, because then we know that we'll
only call it if the encoder is actually enabled. Also note that we
then need to be careful about which crtc we're filtering the encoder
list on: We want to filter on the crtc of the _current_ mode, not the
one we're about to set up.

For the enabling side we need to do the same trick. And again, we
should be able to simplify this quite a bit when things have settled
into place.

Also note that this simply does not take cloning into account, so dpms
needs to be handled specially for the few outputs where we even bother
with it.

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h