drm/vc4: Don't try to initialize FBDEV if we're only bound to V3D.
authorEric Anholt <eric@anholt.net>
Fri, 28 Apr 2017 22:42:22 +0000 (15:42 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 8 May 2017 19:24:06 +0000 (12:24 -0700)
There's no sense in having an fbdev if there's no display, since
connectors don't get hotplugged to this hardware.  On Cygnus we were
getting a dmesg error from passing in num_connectors (0), when that
argument is supposed to be the maximum number of cloned connectors per
CRTC (1).

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170428224223.21904-2-eric@anholt.net
drivers/gpu/drm/vc4/vc4_kms.c

index ad7925a9e0ea4c331bdad8474388e8e6058af1c8..237a504f11f0da3dc71301564a4bac752b64db98 100644 (file)
@@ -230,10 +230,12 @@ int vc4_kms_load(struct drm_device *dev)
 
        drm_mode_config_reset(dev);
 
-       vc4->fbdev = drm_fbdev_cma_init(dev, 32,
-                                       dev->mode_config.num_connector);
-       if (IS_ERR(vc4->fbdev))
-               vc4->fbdev = NULL;
+       if (dev->mode_config.num_connector) {
+               vc4->fbdev = drm_fbdev_cma_init(dev, 32,
+                                               dev->mode_config.num_connector);
+               if (IS_ERR(vc4->fbdev))
+                       vc4->fbdev = NULL;
+       }
 
        drm_kms_helper_poll_init(dev);