]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/omapdrm/omap_drv.c
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[karo-tx-linux.git] / drivers / gpu / drm / omapdrm / omap_drv.c
index 1e80b0243f9c9eda4cff3bdd70adb7b9f7087e0f..dfafdb602ad2a058cde0cf416bf32f4b53ccd7bf 100644 (file)
@@ -547,14 +547,19 @@ static int ioctl_set_param(struct drm_device *dev, void *data,
        return 0;
 }
 
+#define OMAP_BO_USER_MASK      0x00ffffff      /* flags settable by userspace */
+
 static int ioctl_gem_new(struct drm_device *dev, void *data,
                struct drm_file *file_priv)
 {
        struct drm_omap_gem_new *args = data;
+       u32 flags = args->flags & OMAP_BO_USER_MASK;
+
        VERB("%p:%p: size=0x%08x, flags=%08x", dev, file_priv,
-                       args->size.bytes, args->flags);
-       return omap_gem_new_handle(dev, file_priv, args->size,
-                       args->flags, &args->handle);
+            args->size.bytes, flags);
+
+       return omap_gem_new_handle(dev, file_priv, args->size, flags,
+                                  &args->handle);
 }
 
 static int ioctl_gem_cpu_prep(struct drm_device *dev, void *data,
@@ -827,7 +832,8 @@ static const struct file_operations omapdriver_fops = {
 };
 
 static struct drm_driver omap_drm_driver = {
-       .driver_features = DRIVER_MODESET | DRIVER_GEM  | DRIVER_PRIME,
+       .driver_features = DRIVER_MODESET | DRIVER_GEM  | DRIVER_PRIME |
+               DRIVER_ATOMIC,
        .load = dev_load,
        .unload = dev_unload,
        .open = dev_open,