@@ -47,55 +47,11 @@ void hibmc_mm_fini(struct hibmc_drm_private *hibmc)
47
47
drm_vram_helper_release_mm (hibmc -> dev );
48
48
}
49
49
50
- int hibmc_gem_create (struct drm_device * dev , u32 size , bool iskernel ,
51
- struct drm_gem_object * * obj )
52
- {
53
- struct drm_gem_vram_object * gbo ;
54
- int ret ;
55
-
56
- * obj = NULL ;
57
-
58
- size = roundup (size , PAGE_SIZE );
59
- if (size == 0 )
60
- return - EINVAL ;
61
-
62
- gbo = drm_gem_vram_create (dev , & dev -> vram_mm -> bdev , size , 0 , false);
63
- if (IS_ERR (gbo )) {
64
- ret = PTR_ERR (gbo );
65
- if (ret != - ERESTARTSYS )
66
- DRM_ERROR ("failed to allocate GEM object: %d\n" , ret );
67
- return ret ;
68
- }
69
- * obj = & gbo -> bo .base ;
70
- return 0 ;
71
- }
72
-
73
50
int hibmc_dumb_create (struct drm_file * file , struct drm_device * dev ,
74
51
struct drm_mode_create_dumb * args )
75
52
{
76
- struct drm_gem_object * gobj ;
77
- u32 handle ;
78
- int ret ;
79
-
80
- args -> pitch = ALIGN (args -> width * DIV_ROUND_UP (args -> bpp , 8 ), 16 );
81
- args -> size = args -> pitch * args -> height ;
82
-
83
- ret = hibmc_gem_create (dev , args -> size , false,
84
- & gobj );
85
- if (ret ) {
86
- DRM_ERROR ("failed to create GEM object: %d\n" , ret );
87
- return ret ;
88
- }
89
-
90
- ret = drm_gem_handle_create (file , gobj , & handle );
91
- drm_gem_object_put_unlocked (gobj );
92
- if (ret ) {
93
- DRM_ERROR ("failed to unreference GEM object: %d\n" , ret );
94
- return ret ;
95
- }
96
-
97
- args -> handle = handle ;
98
- return 0 ;
53
+ return drm_gem_vram_fill_create_dumb (file , dev , & dev -> vram_mm -> bdev ,
54
+ 0 , 16 , false, args );
99
55
}
100
56
101
57
const struct drm_mode_config_funcs hibmc_mode_funcs = {
0 commit comments