aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/udl/udl_gem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/udl/udl_gem.c')
-rw-r--r--drivers/gpu/drm/udl/udl_gem.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
index ef034fa3e6f5..2a4cb2f83b36 100644
--- a/drivers/gpu/drm/udl/udl_gem.c
+++ b/drivers/gpu/drm/udl/udl_gem.c
@@ -223,8 +223,7 @@ void udl_gem_free_object(struct drm_gem_object *gem_obj)
223 if (obj->pages) 223 if (obj->pages)
224 udl_gem_put_pages(obj); 224 udl_gem_put_pages(obj);
225 225
226 if (gem_obj->map_list.map) 226 drm_gem_free_mmap_offset(gem_obj);
227 drm_gem_free_mmap_offset(gem_obj);
228} 227}
229 228
230/* the dumb interface doesn't work with the GEM straight MMAP 229/* the dumb interface doesn't work with the GEM straight MMAP
@@ -247,13 +246,11 @@ int udl_gem_mmap(struct drm_file *file, struct drm_device *dev,
247 ret = udl_gem_get_pages(gobj, GFP_KERNEL); 246 ret = udl_gem_get_pages(gobj, GFP_KERNEL);
248 if (ret) 247 if (ret)
249 goto out; 248 goto out;
250 if (!gobj->base.map_list.map) { 249 ret = drm_gem_create_mmap_offset(obj);
251 ret = drm_gem_create_mmap_offset(obj); 250 if (ret)
252 if (ret) 251 goto out;
253 goto out;
254 }
255 252
256 *offset = (u64)gobj->base.map_list.hash.key << PAGE_SHIFT; 253 *offset = drm_vma_node_offset_addr(&gobj->base.vma_node);
257 254
258out: 255out:
259 drm_gem_object_unreference(&gobj->base); 256 drm_gem_object_unreference(&gobj->base);