Skip to content

Commit ede0c69

Browse files
author
Thomas Zimmermann
committed
drm/vram-helper: Use drm_gem_ttm_dumb_map_offset()
VRAM helpers now use drm_gem_ttm_dumb_map_offset() to implement struct drm_driver.dumb_map_offset. v2: * update hibmc as well (kernel test robot) Signed-off-by: Thomas Zimmermann <[email protected]> Acked-by: Maxime Ripard <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 5690e48 commit ede0c69

File tree

3 files changed

+3
-54
lines changed

3 files changed

+3
-54
lines changed

drivers/gpu/drm/drm_gem_vram_helper.c

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -245,22 +245,6 @@ void drm_gem_vram_put(struct drm_gem_vram_object *gbo)
245245
}
246246
EXPORT_SYMBOL(drm_gem_vram_put);
247247

248-
/**
249-
* drm_gem_vram_mmap_offset() - Returns a GEM VRAM object's mmap offset
250-
* @gbo: the GEM VRAM object
251-
*
252-
* See drm_vma_node_offset_addr() for more information.
253-
*
254-
* Returns:
255-
* The buffer object's offset for userspace mappings on success, or
256-
* 0 if no offset is allocated.
257-
*/
258-
u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo)
259-
{
260-
return drm_vma_node_offset_addr(&gbo->bo.base.vma_node);
261-
}
262-
EXPORT_SYMBOL(drm_gem_vram_mmap_offset);
263-
264248
static u64 drm_gem_vram_pg_offset(struct drm_gem_vram_object *gbo)
265249
{
266250
/* Keep TTM behavior for now, remove when drivers are audited */
@@ -638,38 +622,6 @@ int drm_gem_vram_driver_dumb_create(struct drm_file *file,
638622
}
639623
EXPORT_SYMBOL(drm_gem_vram_driver_dumb_create);
640624

641-
/**
642-
* drm_gem_vram_driver_dumb_mmap_offset() - \
643-
Implements &struct drm_driver.dumb_mmap_offset
644-
* @file: DRM file pointer.
645-
* @dev: DRM device.
646-
* @handle: GEM handle
647-
* @offset: Returns the mapping's memory offset on success
648-
*
649-
* Returns:
650-
* 0 on success, or
651-
* a negative errno code otherwise.
652-
*/
653-
int drm_gem_vram_driver_dumb_mmap_offset(struct drm_file *file,
654-
struct drm_device *dev,
655-
uint32_t handle, uint64_t *offset)
656-
{
657-
struct drm_gem_object *gem;
658-
struct drm_gem_vram_object *gbo;
659-
660-
gem = drm_gem_object_lookup(file, handle);
661-
if (!gem)
662-
return -ENOENT;
663-
664-
gbo = drm_gem_vram_of_gem(gem);
665-
*offset = drm_gem_vram_mmap_offset(gbo);
666-
667-
drm_gem_object_put(gem);
668-
669-
return 0;
670-
}
671-
EXPORT_SYMBOL(drm_gem_vram_driver_dumb_mmap_offset);
672-
673625
/*
674626
* Helpers for struct drm_plane_helper_funcs
675627
*/

drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ static const struct drm_driver hibmc_driver = {
6060
.minor = 0,
6161
.debugfs_init = drm_vram_mm_debugfs_init,
6262
.dumb_create = hibmc_dumb_create,
63-
.dumb_map_offset = drm_gem_vram_driver_dumb_mmap_offset,
63+
.dumb_map_offset = drm_gem_ttm_dumb_map_offset,
6464
.gem_prime_mmap = drm_gem_prime_mmap,
6565
.irq_handler = hibmc_drm_interrupt,
6666
};

include/drm/drm_gem_vram_helper.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include <drm/drm_file.h>
77
#include <drm/drm_gem.h>
8+
#include <drm/drm_gem_ttm_helper.h>
89
#include <drm/drm_ioctl.h>
910
#include <drm/drm_modes.h>
1011
#include <drm/ttm/ttm_bo_api.h>
@@ -93,7 +94,6 @@ struct drm_gem_vram_object *drm_gem_vram_create(struct drm_device *dev,
9394
size_t size,
9495
unsigned long pg_align);
9596
void drm_gem_vram_put(struct drm_gem_vram_object *gbo);
96-
u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo);
9797
s64 drm_gem_vram_offset(struct drm_gem_vram_object *gbo);
9898
int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag);
9999
int drm_gem_vram_unpin(struct drm_gem_vram_object *gbo);
@@ -113,9 +113,6 @@ int drm_gem_vram_fill_create_dumb(struct drm_file *file,
113113
int drm_gem_vram_driver_dumb_create(struct drm_file *file,
114114
struct drm_device *dev,
115115
struct drm_mode_create_dumb *args);
116-
int drm_gem_vram_driver_dumb_mmap_offset(struct drm_file *file,
117-
struct drm_device *dev,
118-
uint32_t handle, uint64_t *offset);
119116

120117
/*
121118
* Helpers for struct drm_plane_helper_funcs
@@ -149,7 +146,7 @@ void drm_gem_vram_simple_display_pipe_cleanup_fb(
149146
#define DRM_GEM_VRAM_DRIVER \
150147
.debugfs_init = drm_vram_mm_debugfs_init, \
151148
.dumb_create = drm_gem_vram_driver_dumb_create, \
152-
.dumb_map_offset = drm_gem_vram_driver_dumb_mmap_offset, \
149+
.dumb_map_offset = drm_gem_ttm_dumb_map_offset, \
153150
.gem_prime_mmap = drm_gem_prime_mmap
154151

155152
/*

0 commit comments

Comments
 (0)