+static int drm_gem_dmabuf_begin_cpu_access(struct dma_buf *dma_buf,
+ size_t start, size_t len,
+ enum dma_data_direction dir)
+{
+ struct drm_gem_object *obj = dma_buf->priv;
+ struct drm_device *dev = obj->dev;
+
+ if (!dev->driver->gem_prime_begin_cpu_access)
+ return -ENOSYS;
+
+ return dev->driver->gem_prime_begin_cpu_access(obj, start, len, dir);
+}
+
+static void drm_gem_dmabuf_end_cpu_access(struct dma_buf *dma_buf,
+ size_t start, size_t len,
+ enum dma_data_direction dir)
+{
+ struct drm_gem_object *obj = dma_buf->priv;
+ struct drm_device *dev = obj->dev;
+
+ if (!dev->driver->gem_prime_end_cpu_access)
+ return;
+
+ dev->driver->gem_prime_end_cpu_access(obj, start, len, dir);
+}
+