drm: Fix render node numbering regression from control node removal.
authorEric Anholt <eric@anholt.net>
Wed, 9 May 2018 00:14:25 +0000 (17:14 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 14 May 2018 06:43:09 +0000 (07:43 +0100)
drm_minor_alloc() does multiplication on this enum, so the removal
ended up moving render nodes down from 128 base to 64.  This caused
Mesa's surfaceless backend to be unable to open the render nodes,
since it was still looking up at 128.

v2: Add a comment warning the next person.

Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: 0d49f303e8a7 ("drm: remove all control node code")
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20180509001425.12574-1-eric@anholt.net
include/drm/drm_file.h

index 91a65a3600797ce364fb1c90f9d52c7075166b49..027ac16da3d15fb99655ad3724562ae8cf222190 100644 (file)
@@ -47,8 +47,12 @@ struct device;
  * header include loops we need it here for now.
  */
 
+/* Note that the order of this enum is ABI (it determines
+ * /dev/dri/renderD* numbers).
+ */
 enum drm_minor_type {
        DRM_MINOR_PRIMARY,
+       DRM_MINOR_CONTROL,
        DRM_MINOR_RENDER,
 };