Merge drm/drm-next into drm-intel-gt-next
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / display / intel_display.c
index 3bad4e0..83a4aba 100644 (file)
@@ -1331,6 +1331,9 @@ retry:
        ret = i915_gem_object_lock(obj, &ww);
        if (!ret && phys_cursor)
                ret = i915_gem_object_attach_phys(obj, alignment);
+       else if (!ret && HAS_LMEM(dev_priv))
+               ret = i915_gem_object_migrate(obj, &ww, INTEL_REGION_LMEM);
+       /* TODO: Do we need to sync when migration becomes async? */
        if (!ret)
                ret = i915_gem_object_pin_pages(obj);
        if (ret)
@@ -11770,7 +11773,7 @@ intel_user_framebuffer_create(struct drm_device *dev,
 
        /* object is backed with LMEM for discrete */
        i915 = to_i915(obj->base.dev);
-       if (HAS_LMEM(i915) && !i915_gem_object_is_lmem(obj)) {
+       if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, INTEL_REGION_LMEM)) {
                /* object is "remote", not in local memory */
                i915_gem_object_put(obj);
                return ERR_PTR(-EREMOTE);