diff options
Diffstat (limited to 'drivers/gpu/drm/drm_gem_cma_helper.c')
-rw-r--r-- | drivers/gpu/drm/drm_gem_cma_helper.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c index ece72a8ac245..847f09117666 100644 --- a/drivers/gpu/drm/drm_gem_cma_helper.c +++ b/drivers/gpu/drm/drm_gem_cma_helper.c | |||
@@ -27,11 +27,7 @@ | |||
27 | #include <drm/drmP.h> | 27 | #include <drm/drmP.h> |
28 | #include <drm/drm.h> | 28 | #include <drm/drm.h> |
29 | #include <drm/drm_gem_cma_helper.h> | 29 | #include <drm/drm_gem_cma_helper.h> |
30 | 30 | #include <drm/drm_vma_manager.h> | |
31 | static unsigned int get_gem_mmap_offset(struct drm_gem_object *obj) | ||
32 | { | ||
33 | return (unsigned int)obj->map_list.hash.key << PAGE_SHIFT; | ||
34 | } | ||
35 | 31 | ||
36 | /* | 32 | /* |
37 | * __drm_gem_cma_create - Create a GEM CMA object without allocating memory | 33 | * __drm_gem_cma_create - Create a GEM CMA object without allocating memory |
@@ -172,8 +168,7 @@ void drm_gem_cma_free_object(struct drm_gem_object *gem_obj) | |||
172 | { | 168 | { |
173 | struct drm_gem_cma_object *cma_obj; | 169 | struct drm_gem_cma_object *cma_obj; |
174 | 170 | ||
175 | if (gem_obj->map_list.map) | 171 | drm_gem_free_mmap_offset(gem_obj); |
176 | drm_gem_free_mmap_offset(gem_obj); | ||
177 | 172 | ||
178 | cma_obj = to_drm_gem_cma_obj(gem_obj); | 173 | cma_obj = to_drm_gem_cma_obj(gem_obj); |
179 | 174 | ||
@@ -237,7 +232,7 @@ int drm_gem_cma_dumb_map_offset(struct drm_file *file_priv, | |||
237 | return -EINVAL; | 232 | return -EINVAL; |
238 | } | 233 | } |
239 | 234 | ||
240 | *offset = get_gem_mmap_offset(gem_obj); | 235 | *offset = drm_vma_node_offset_addr(&gem_obj->vma_node); |
241 | 236 | ||
242 | drm_gem_object_unreference(gem_obj); | 237 | drm_gem_object_unreference(gem_obj); |
243 | 238 | ||
@@ -301,12 +296,11 @@ void drm_gem_cma_describe(struct drm_gem_cma_object *cma_obj, struct seq_file *m | |||
301 | { | 296 | { |
302 | struct drm_gem_object *obj = &cma_obj->base; | 297 | struct drm_gem_object *obj = &cma_obj->base; |
303 | struct drm_device *dev = obj->dev; | 298 | struct drm_device *dev = obj->dev; |
304 | uint64_t off = 0; | 299 | uint64_t off; |
305 | 300 | ||
306 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); | 301 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); |
307 | 302 | ||
308 | if (obj->map_list.map) | 303 | off = drm_vma_node_start(&obj->vma_node); |
309 | off = (uint64_t)obj->map_list.hash.key; | ||
310 | 304 | ||
311 | seq_printf(m, "%2d (%2d) %08llx %08Zx %p %d", | 305 | seq_printf(m, "%2d (%2d) %08llx %08Zx %p %d", |
312 | obj->name, obj->refcount.refcount.counter, | 306 | obj->name, obj->refcount.refcount.counter, |