drivers/gpu/drm/loongson/lsdc_drv.c | 2 +- drivers/gpu/drm/loongson/lsdc_gem.c | 16 ---------------- drivers/gpu/drm/loongson/lsdc_gem.h | 5 ----- 3 files changed, 1 insertion(+), 22 deletions(-)
The lsdc driver implements a custom dumb_map_offset callback which is
functionally equivalent to the generic drm_gem_dumb_map_offset helper,
but lacks standard safety checks.
The generic helper adds:
1. A check to prevent mapping of imported objects (which is invalid for
dumb buffers).
2. A call to drm_gem_create_mmap_offset() to ensure the offset is
correctly allocated before access.
Replace the custom implementation with the generic helper and remove
the now unused lsdc_dumb_map_offset() function.
This addresses the TODO:
"Documentation/gpu/todo.rst: Remove custom dumb_map_offset implementations"
Signed-off-by: Swaraj Gaikwad <swarajgaikwad1925@gmail.com>
---
Compile-tested only.
drivers/gpu/drm/loongson/lsdc_drv.c | 2 +-
drivers/gpu/drm/loongson/lsdc_gem.c | 16 ----------------
drivers/gpu/drm/loongson/lsdc_gem.h | 5 -----
3 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/loongson/lsdc_drv.c b/drivers/gpu/drm/loongson/lsdc_drv.c
index abf5bf68eec2..50023b5573a4 100644
--- a/drivers/gpu/drm/loongson/lsdc_drv.c
+++ b/drivers/gpu/drm/loongson/lsdc_drv.c
@@ -45,7 +45,7 @@ static const struct drm_driver lsdc_drm_driver = {
.debugfs_init = lsdc_debugfs_init,
.dumb_create = lsdc_dumb_create,
- .dumb_map_offset = lsdc_dumb_map_offset,
+ .dumb_map_offset = drm_gem_dumb_map_offset,
.gem_prime_import_sg_table = lsdc_prime_import_sg_table,
DRM_FBDEV_TTM_DRIVER_OPS,
};
diff --git a/drivers/gpu/drm/loongson/lsdc_gem.c b/drivers/gpu/drm/loongson/lsdc_gem.c
index 6372db2d3093..9f956e63cce3 100644
--- a/drivers/gpu/drm/loongson/lsdc_gem.c
+++ b/drivers/gpu/drm/loongson/lsdc_gem.c
@@ -234,22 +234,6 @@ int lsdc_dumb_create(struct drm_file *file, struct drm_device *ddev,
return 0;
}
-int lsdc_dumb_map_offset(struct drm_file *filp, struct drm_device *ddev,
- u32 handle, uint64_t *offset)
-{
- struct drm_gem_object *gobj;
-
- gobj = drm_gem_object_lookup(filp, handle);
- if (!gobj)
- return -ENOENT;
-
- *offset = drm_vma_node_offset_addr(&gobj->vma_node);
-
- drm_gem_object_put(gobj);
-
- return 0;
-}
-
void lsdc_gem_init(struct drm_device *ddev)
{
struct lsdc_device *ldev = to_lsdc(ddev);
diff --git a/drivers/gpu/drm/loongson/lsdc_gem.h b/drivers/gpu/drm/loongson/lsdc_gem.h
index 92cbb10e6e13..f79f06874286 100644
--- a/drivers/gpu/drm/loongson/lsdc_gem.h
+++ b/drivers/gpu/drm/loongson/lsdc_gem.h
@@ -14,11 +14,6 @@ lsdc_prime_import_sg_table(struct drm_device *ddev,
struct dma_buf_attachment *attach,
struct sg_table *sg);
-int lsdc_dumb_map_offset(struct drm_file *file,
- struct drm_device *dev,
- u32 handle,
- uint64_t *offset);
-
int lsdc_dumb_create(struct drm_file *file,
struct drm_device *ddev,
struct drm_mode_create_dumb *args);
base-commit: a859eca0e4cc96f63ff125dbe5388d961558b0e9
prerequisite-patch-id: 84f019e50f016ed5c37c15cb809158ab022686be
--
2.52.0
© 2016 - 2025 Red Hat, Inc.