Commit f4268a4b authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/qxl: Use drm_gem_ttm_dumb_map_offset()

Qxl now uses drm_gem_ttm_dumb_map_offset() to implement struct
drm_driver.dumb_map_offset.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Acked-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20210408140139.27731-5-tzimmermann@suse.de
parent 4c398f50
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_drv.h> #include <drm/drm_drv.h>
#include <drm/drm_file.h> #include <drm/drm_file.h>
#include <drm/drm_gem_ttm_helper.h>
#include <drm/drm_modeset_helper.h> #include <drm/drm_modeset_helper.h>
#include <drm/drm_prime.h> #include <drm/drm_prime.h>
#include <drm/drm_probe_helper.h> #include <drm/drm_probe_helper.h>
...@@ -271,7 +272,7 @@ static struct drm_driver qxl_driver = { ...@@ -271,7 +272,7 @@ static struct drm_driver qxl_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.dumb_create = qxl_mode_dumb_create, .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) #if defined(CONFIG_DEBUG_FS)
.debugfs_init = qxl_debugfs_init, .debugfs_init = qxl_debugfs_init,
#endif #endif
......
...@@ -330,9 +330,6 @@ void qxl_bo_force_delete(struct qxl_device *qdev); ...@@ -330,9 +330,6 @@ void qxl_bo_force_delete(struct qxl_device *qdev);
int qxl_mode_dumb_create(struct drm_file *file_priv, int qxl_mode_dumb_create(struct drm_file *file_priv,
struct drm_device *dev, struct drm_device *dev,
struct drm_mode_create_dumb *args); 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 */ /* qxl ttm */
int qxl_ttm_init(struct qxl_device *qdev); int qxl_ttm_init(struct qxl_device *qdev);
......
...@@ -69,20 +69,3 @@ int qxl_mode_dumb_create(struct drm_file *file_priv, ...@@ -69,20 +69,3 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
args->handle = handle; args->handle = handle;
return 0; 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;
}
...@@ -67,8 +67,8 @@ static int qxl_map_ioctl(struct drm_device *dev, void *data, ...@@ -67,8 +67,8 @@ static int qxl_map_ioctl(struct drm_device *dev, void *data,
struct qxl_device *qdev = to_qxl(dev); struct qxl_device *qdev = to_qxl(dev);
struct drm_qxl_map *qxl_map = data; struct drm_qxl_map *qxl_map = data;
return qxl_mode_dumb_mmap(file_priv, &qdev->ddev, qxl_map->handle, return drm_gem_ttm_dumb_map_offset(file_priv, &qdev->ddev, qxl_map->handle,
&qxl_map->offset); &qxl_map->offset);
} }
struct qxl_reloc_info { struct qxl_reloc_info {
......
...@@ -53,11 +53,6 @@ static inline unsigned long qxl_bo_size(struct qxl_bo *bo) ...@@ -53,11 +53,6 @@ static inline unsigned long qxl_bo_size(struct qxl_bo *bo)
return bo->tbo.base.size; 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, extern int qxl_bo_create(struct qxl_device *qdev,
unsigned long size, unsigned long size,
bool kernel, bool pinned, u32 domain, bool kernel, bool pinned, u32 domain,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment