@@ -1624,30 +1624,39 @@ i915_gem_mmap_gtt(struct drm_file *file,
struct drm_i915_gem_object *obj;
int ret;
+ printk(KERN_ERR "Hello!\n");
+
ret = i915_mutex_lock_interruptible(dev);
- if (ret)
+ if (ret) {
+ DRM_DEBUG_DRIVER("interrupted: ret=%d\n", ret);
return ret;
+ }
obj = to_intel_bo(drm_gem_object_lookup(dev, file, handle));
if (&obj->base == NULL) {
+ DRM_DEBUG_DRIVER("Unknown object handle %d\n", handle);
ret = -ENOENT;
goto unlock;
}
if (obj->base.size > dev_priv->gtt.mappable_end) {
+ DRM_DEBUG_DRIVER("Object (%d) larger than mappable aperture (%d) > %d\n",
+ (int)obj->base.size, (int)dev_priv->gtt.mappable_end);
ret = -E2BIG;
goto out;
}
if (obj->madv != I915_MADV_WILLNEED) {
- DRM_ERROR("Attempting to mmap a purgeable buffer\n");
+ DRM_DEBUG_DRIVER("Attempting to mmap a purgeable buffer\n");
ret = -EINVAL;
goto out;
}
ret = i915_gem_object_create_mmap_offset(obj);
- if (ret)
+ if (ret) {
+ DRM_DEBUG_DRIVER("Failed to allocate mmap offset (ret=%d)\n", ret);
goto out;
+ }
*offset = (u64)obj->base.map_list.hash.key << PAGE_SHIFT;
@@ -1655,6 +1664,7 @@ out:
drm_gem_object_unreference(&obj->base);
unlock:
mutex_unlock(&dev->struct_mutex);
+ DRM_DEBUG_DRIVER("done, ret=%d\n", ret);
return ret;
}