drm/qxl: Use drm_gem_ttm_dumb_map_offset()
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 8 Apr 2021 14:01:39 +0000 (16:01 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Sun, 11 Apr 2021 18:15:21 +0000 (20:15 +0200)
Qxl now uses drm_gem_ttm_dumb_map_offset() to implement struct
drm_driver.dumb_map_offset.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20210408140139.27731-5-tzimmermann@suse.de
drivers/gpu/drm/qxl/qxl_drv.c
drivers/gpu/drm/qxl/qxl_drv.h
drivers/gpu/drm/qxl/qxl_dumb.c
drivers/gpu/drm/qxl/qxl_ioctl.c
drivers/gpu/drm/qxl/qxl_object.h

index 1864467f1063975ff1297b40765c55ec865258b8..db92eec07d969e6f76289616ac3e3870afc4f1f4 100644 (file)
@@ -37,6 +37,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_file.h>
+#include <drm/drm_gem_ttm_helper.h>
 #include <drm/drm_modeset_helper.h>
 #include <drm/drm_prime.h>
 #include <drm/drm_probe_helper.h>
@@ -271,7 +272,7 @@ static struct drm_driver qxl_driver = {
        .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
 
        .dumb_create = qxl_mode_dumb_create,
-       .dumb_map_offset = qxl_mode_dumb_mmap,
+       .dumb_map_offset = drm_gem_ttm_dumb_map_offset,
 #if defined(CONFIG_DEBUG_FS)
        .debugfs_init = qxl_debugfs_init,
 #endif
index 6dd57cfb2e7c6d8d9276493e2e44ea121ca3a88e..20a0f3ab84ad37577588f6dfd07b58f44379d868 100644 (file)
@@ -330,9 +330,6 @@ void qxl_bo_force_delete(struct qxl_device *qdev);
 int qxl_mode_dumb_create(struct drm_file *file_priv,
                         struct drm_device *dev,
                         struct drm_mode_create_dumb *args);
-int qxl_mode_dumb_mmap(struct drm_file *filp,
-                      struct drm_device *dev,
-                      uint32_t handle, uint64_t *offset_p);
 
 /* qxl ttm */
 int qxl_ttm_init(struct qxl_device *qdev);
index 48a58ba1db96501c9f530bb97a77053b46357682..a635d9fdf8ac397cd80a859a909ac2681f9fd9ee 100644 (file)
@@ -69,20 +69,3 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
        args->handle = handle;
        return 0;
 }
-
-int qxl_mode_dumb_mmap(struct drm_file *file_priv,
-                      struct drm_device *dev,
-                      uint32_t handle, uint64_t *offset_p)
-{
-       struct drm_gem_object *gobj;
-       struct qxl_bo *qobj;
-
-       BUG_ON(!offset_p);
-       gobj = drm_gem_object_lookup(file_priv, handle);
-       if (gobj == NULL)
-               return -ENOENT;
-       qobj = gem_to_qxl_bo(gobj);
-       *offset_p = qxl_bo_mmap_offset(qobj);
-       drm_gem_object_put(gobj);
-       return 0;
-}
index b6075f452b9e02a1294b04563432969d437528cd..38aabcbe223820fecabf6e588e2418ee901c9dc3 100644 (file)
@@ -67,8 +67,8 @@ static int qxl_map_ioctl(struct drm_device *dev, void *data,
        struct qxl_device *qdev = to_qxl(dev);
        struct drm_qxl_map *qxl_map = data;
 
-       return qxl_mode_dumb_mmap(file_priv, &qdev->ddev, qxl_map->handle,
-                                 &qxl_map->offset);
+       return drm_gem_ttm_dumb_map_offset(file_priv, &qdev->ddev, qxl_map->handle,
+                                          &qxl_map->offset);
 }
 
 struct qxl_reloc_info {
index ee9c29de4d3de2b8e89c20358142043ac362390e..cee4b52b75ddd2ac5c6098bc8eb99220b44adbe1 100644 (file)
@@ -53,11 +53,6 @@ static inline unsigned long qxl_bo_size(struct qxl_bo *bo)
        return bo->tbo.base.size;
 }
 
-static inline u64 qxl_bo_mmap_offset(struct qxl_bo *bo)
-{
-       return drm_vma_node_offset_addr(&bo->tbo.base.vma_node);
-}
-
 extern int qxl_bo_create(struct qxl_device *qdev,
                         unsigned long size,
                         bool kernel, bool pinned, u32 domain,