drm/i915: Include reminders about leaving no holes in uAPI enums
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Feb 2019 09:46:28 +0000 (09:46 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 19 Feb 2019 09:46:31 +0000 (09:46 +0000)
We don't want to pre-reserve any holes in our uAPI for that is a sign of
nefarious and hidden activity. Add a reminder about our uAPI
expectations to encourage good practice when adding new defines/enums.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190218094628.13522-1-chris@chris-wilson.co.uk
include/uapi/drm/i915_drm.h

index c890b79..8304a7f 100644 (file)
@@ -99,6 +99,8 @@ enum drm_i915_gem_engine_class {
        I915_ENGINE_CLASS_VIDEO         = 2,
        I915_ENGINE_CLASS_VIDEO_ENHANCE = 3,
 
+       /* should be kept compact */
+
        I915_ENGINE_CLASS_INVALID       = -1
 };
 
@@ -319,6 +321,7 @@ typedef struct _drm_i915_sarea {
 #define DRM_I915_PERF_ADD_CONFIG       0x37
 #define DRM_I915_PERF_REMOVE_CONFIG    0x38
 #define DRM_I915_QUERY                 0x39
+/* Must be kept compact -- no holes */
 
 #define DRM_IOCTL_I915_INIT            DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
 #define DRM_IOCTL_I915_FLUSH           DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -559,6 +562,8 @@ typedef struct drm_i915_irq_wait {
  */
 #define I915_PARAM_MMAP_GTT_COHERENT   52
 
+/* Must be kept compact -- no holes and well documented */
+
 typedef struct drm_i915_getparam {
        __s32 param;
        /*
@@ -574,6 +579,7 @@ typedef struct drm_i915_getparam {
 #define I915_SETPARAM_TEX_LRU_LOG_GRANULARITY             2
 #define I915_SETPARAM_ALLOW_BATCHBUFFER                   3
 #define I915_SETPARAM_NUM_USED_FENCES                     4
+/* Must be kept compact -- no holes */
 
 typedef struct drm_i915_setparam {
        int param;
@@ -1511,6 +1517,7 @@ struct drm_i915_gem_context_param {
  * On creation, all new contexts are marked as recoverable.
  */
 #define I915_CONTEXT_PARAM_RECOVERABLE 0x8
+/* Must be kept compact -- no holes and well documented */
        __u64 value;
 };
 
@@ -1734,6 +1741,7 @@ struct drm_i915_perf_oa_config {
 struct drm_i915_query_item {
        __u64 query_id;
 #define DRM_I915_QUERY_TOPOLOGY_INFO    1
+/* Must be kept compact -- no holes and well documented */
 
        /*
         * When set to zero by userspace, this is filled with the size of the