drm/i915/gem: Allow backends to override pread implementation
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / i915_gem.c
index bb0c129..d58fe1d 100644 (file)
@@ -527,6 +527,12 @@ i915_gem_pread_ioctl(struct drm_device *dev, void *data,
 
        trace_i915_gem_object_pread(obj, args->offset, args->size);
 
+       ret = -ENODEV;
+       if (obj->ops->pread)
+               ret = obj->ops->pread(obj, args);
+       if (ret != -ENODEV)
+               goto out;
+
        ret = i915_gem_object_wait(obj,
                                   I915_WAIT_INTERRUPTIBLE,
                                   MAX_SCHEDULE_TIMEOUT);