Blob Blame History Raw
From: Eric Anholt <eric@anholt.net>
Date: Tue, 8 May 2018 17:14:25 -0700
Subject: drm: Fix render node numbering regression from control node removal.
Git-commit: c9ac371d4b5982d2f179d42bb99781e510d55f50
Patch-mainline: v4.18-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166

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

Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 include/drm/drm_file.h |    4 ++++
 1 file changed, 4 insertions(+)

--- a/include/drm/drm_file.h
+++ b/include/drm/drm_file.h
@@ -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,
 };