summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2009-02-24 01:09:34 +0100
committerDave Airlie <airlied@linux.ie>2009-02-25 05:42:23 +0100
commit7bec756c74b1a5079d5074144bb77a6b3e7d7783 (patch)
tree704b5ffbb921f6798e5c29df369c64561d4d425c /include
parentdrm: Fix ordering of bit fields in EDID structure leading huge vsync values. (diff)
downloadlinux-7bec756c74b1a5079d5074144bb77a6b3e7d7783.tar.xz
linux-7bec756c74b1a5079d5074144bb77a6b3e7d7783.zip
drm: disable encoders before re-routing them
In some cases we may receive a mode config that has a different CRTC<->encoder map that the current configuration. In that case, we need to disable any re-routed encoders before setting the mode, otherwise they may not pick up the new CRTC (if the output types are incompatible for example). Tested-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'include')
-rw-r--r--include/drm/drm_crtc_helper.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h
index 0b0d236c2154..c7d4b2e606a5 100644
--- a/include/drm/drm_crtc_helper.h
+++ b/include/drm/drm_crtc_helper.h
@@ -76,6 +76,7 @@ struct drm_encoder_helper_funcs {
void (*mode_set)(struct drm_encoder *encoder,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode);
+ struct drm_crtc *(*get_crtc)(struct drm_encoder *encoder);
/* detect for DAC style encoders */
enum drm_connector_status (*detect)(struct drm_encoder *encoder,
struct drm_connector *connector);