drm/uapi: Add a warning that mode flags must match the xrandr definitions
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Nov 2016 14:10:01 +0000 (16:10 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 8 Nov 2016 10:10:45 +0000 (11:10 +0100)
Existing userspace expected the mode flags to match the xrandr
definitions 1:1, and even adding new flags in he previously unused
bits is likely to break existing userspace. Add a comment warning
people about this potential trap.

Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: "Lin, Jia" <lin.a.jia@intel.com>
Cc: Akashdeep Sharma <akashdeep.sharma@intel.com>
Cc: Jim Bride <jim.bride@linux.intel.com>
Cc: Jose Abreu <Jose.Abreu@synopsys.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1478182201-26086-1-git-send-email-ville.syrjala@linux.intel.com
include/uapi/drm/drm_mode.h

index 084b50a02dc5fbe297e8df0708b61af4a2a18b9b..01000c9f7c2cfc277a31d8f4b650872dc4b69a46 100644 (file)
@@ -47,7 +47,15 @@ extern "C" {
 #define DRM_MODE_TYPE_DRIVER   (1<<6)
 
 /* Video mode flags */
-/* bit compatible with the xorg definitions. */
+/* bit compatible with the xrandr RR_ definitions (bits 0-13)
+ *
+ * ABI warning: Existing userspace really expects
+ * the mode flags to match the xrandr definitions. Any
+ * changes that don't match the xrandr definitions will
+ * likely need a new client cap or some other mechanism
+ * to avoid breaking existing userspace. This includes
+ * allocating new flags in the previously unused bits!
+ */
 #define DRM_MODE_FLAG_PHSYNC                   (1<<0)
 #define DRM_MODE_FLAG_NHSYNC                   (1<<1)
 #define DRM_MODE_FLAG_PVSYNC                   (1<<2)