Merge tag 'drm-intel-next-2018-07-19' of git://anongit.freedesktop.org/drm/drm-intel...
[platform/kernel/linux-rpi.git] / drivers / gpu / drm / i915 / i915_gem_gtt.c
index 3d75f2b..f00c7fb 100644 (file)
@@ -4035,7 +4035,7 @@ int i915_gem_gtt_insert(struct i915_address_space *vm,
 
        mode = DRM_MM_INSERT_BEST;
        if (flags & PIN_HIGH)
-               mode = DRM_MM_INSERT_HIGH;
+               mode = DRM_MM_INSERT_HIGHEST;
        if (flags & PIN_MAPPABLE)
                mode = DRM_MM_INSERT_LOW;
 
@@ -4055,6 +4055,15 @@ int i915_gem_gtt_insert(struct i915_address_space *vm,
        if (err != -ENOSPC)
                return err;
 
+       if (mode & DRM_MM_INSERT_ONCE) {
+               err = drm_mm_insert_node_in_range(&vm->mm, node,
+                                                 size, alignment, color,
+                                                 start, end,
+                                                 DRM_MM_INSERT_BEST);
+               if (err != -ENOSPC)
+                       return err;
+       }
+
        if (flags & PIN_NOEVICT)
                return -ENOSPC;