summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-10 17:53:42 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-09-06 08:01:31 +0200
commit431e50f799b356a899a63924883f2b0d1bfaf7b3 (patch)
treefb89e6462f10b18bf4752e9d2ae71b3bc446232c
parent2e43105183bcecfbe56733785c05bf182df60082 (diff)
drm/i915: implement crtc helper semantics relied upon by the fb helper
Yikes! But yeah, we have to do this until someone volunteers to clean up the fb helper and rid it of its incetious relationship with the crtc helper code. Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index c10fb2e57af2..71cb90d763bd 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6934,6 +6934,12 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
if (!set->mode)
set->fb = NULL;
+ /* The fb helper likes to play gross jokes with ->mode_set_config.
+ * Unfortunately the crtc helper doesn't do much at all for this case,
+ * so we have to cope with this madness until the fb helper is fixed up. */
+ if (set->fb && set->num_connectors == 0)
+ return 0;
+
if (set->fb) {
DRM_DEBUG_KMS("[CRTC:%d] [FB:%d] #connectors=%d (x y) (%i %i)\n",
set->crtc->base.id, set->fb->base.id,