]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/i915: Document the split in internal and public execbuf flags
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 21 Sep 2017 11:01:35 +0000 (12:01 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 21 Sep 2017 16:19:24 +0000 (17:19 +0100)
Since we reuse the same field for the user passing in their control
flags, and for the kernel to track a couple of bits of state, document
and check that those do not overlap.

Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170921110135.15990-1-chris@chris-wilson.co.uk
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/i915_gem_execbuffer.c

index 214a850b4b3cb1f2fb7f13212e298e19aaede99d..61b9b079c8c8264e5ae59c7979312c38fa6766bb 100644 (file)
@@ -58,6 +58,7 @@ enum {
 
 #define __EXEC_HAS_RELOC       BIT(31)
 #define __EXEC_VALIDATED       BIT(30)
+#define __EXEC_INTERNAL_FLAGS  (~0u << 30)
 #define UPDATE                 PIN_OFFSET_FIXED
 
 #define BATCH_OFFSET_BIAS (256*1024)
@@ -2185,6 +2186,7 @@ i915_gem_do_execbuffer(struct drm_device *dev,
        int out_fence_fd = -1;
        int err;
 
+       BUILD_BUG_ON(__EXEC_INTERNAL_FLAGS & ~__I915_EXEC_ILLEGAL_FLAGS);
        BUILD_BUG_ON(__EXEC_OBJECT_INTERNAL_FLAGS &
                     ~__EXEC_OBJECT_UNKNOWN_FLAGS);