OSDN Git Service

Merge tag 'drm-misc-next-2020-10-27' of git://anongit.freedesktop.org/drm/drm-misc...
[uclinux-h8/linux.git] / drivers / gpu / drm / i915 / gem / i915_gem_dmabuf.c
index 8dd295d..0dd477e 100644 (file)
@@ -77,14 +77,21 @@ static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
        i915_gem_object_unpin_pages(obj);
 }
 
-static void *i915_gem_dmabuf_vmap(struct dma_buf *dma_buf)
+static int i915_gem_dmabuf_vmap(struct dma_buf *dma_buf, struct dma_buf_map *map)
 {
        struct drm_i915_gem_object *obj = dma_buf_to_obj(dma_buf);
+       void *vaddr;
 
-       return i915_gem_object_pin_map(obj, I915_MAP_WB);
+       vaddr = i915_gem_object_pin_map(obj, I915_MAP_WB);
+       if (IS_ERR(vaddr))
+               return PTR_ERR(vaddr);
+
+       dma_buf_map_set_vaddr(map, vaddr);
+
+       return 0;
 }
 
-static void i915_gem_dmabuf_vunmap(struct dma_buf *dma_buf, void *vaddr)
+static void i915_gem_dmabuf_vunmap(struct dma_buf *dma_buf, struct dma_buf_map *map)
 {
        struct drm_i915_gem_object *obj = dma_buf_to_obj(dma_buf);