aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_gem_cma_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_gem_cma_helper.c')
-rw-r--r--drivers/gpu/drm/drm_gem_cma_helper.c16
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>
31static 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,