10
10
#include <drm/drm_gem.h>
11
11
#include <drm/drm_print.h>
12
12
13
- #include <drm/drm_fbdev_generic .h>
13
+ #include <drm/drm_fbdev_ttm .h>
14
14
15
15
/* @user: 1=userspace, 0=fbcon */
16
- static int drm_fbdev_generic_fb_open (struct fb_info * info , int user )
16
+ static int drm_fbdev_ttm_fb_open (struct fb_info * info , int user )
17
17
{
18
18
struct drm_fb_helper * fb_helper = info -> par ;
19
19
@@ -24,7 +24,7 @@ static int drm_fbdev_generic_fb_open(struct fb_info *info, int user)
24
24
return 0 ;
25
25
}
26
26
27
- static int drm_fbdev_generic_fb_release (struct fb_info * info , int user )
27
+ static int drm_fbdev_ttm_fb_release (struct fb_info * info , int user )
28
28
{
29
29
struct drm_fb_helper * fb_helper = info -> par ;
30
30
@@ -34,11 +34,11 @@ static int drm_fbdev_generic_fb_release(struct fb_info *info, int user)
34
34
return 0 ;
35
35
}
36
36
37
- FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS (drm_fbdev_generic ,
37
+ FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS (drm_fbdev_ttm ,
38
38
drm_fb_helper_damage_range ,
39
39
drm_fb_helper_damage_area );
40
40
41
- static void drm_fbdev_generic_fb_destroy (struct fb_info * info )
41
+ static void drm_fbdev_ttm_fb_destroy (struct fb_info * info )
42
42
{
43
43
struct drm_fb_helper * fb_helper = info -> par ;
44
44
void * shadow = info -> screen_buffer ;
@@ -56,19 +56,19 @@ static void drm_fbdev_generic_fb_destroy(struct fb_info *info)
56
56
kfree (fb_helper );
57
57
}
58
58
59
- static const struct fb_ops drm_fbdev_generic_fb_ops = {
59
+ static const struct fb_ops drm_fbdev_ttm_fb_ops = {
60
60
.owner = THIS_MODULE ,
61
- .fb_open = drm_fbdev_generic_fb_open ,
62
- .fb_release = drm_fbdev_generic_fb_release ,
63
- FB_DEFAULT_DEFERRED_OPS (drm_fbdev_generic ),
61
+ .fb_open = drm_fbdev_ttm_fb_open ,
62
+ .fb_release = drm_fbdev_ttm_fb_release ,
63
+ FB_DEFAULT_DEFERRED_OPS (drm_fbdev_ttm ),
64
64
DRM_FB_HELPER_DEFAULT_OPS ,
65
- .fb_destroy = drm_fbdev_generic_fb_destroy ,
65
+ .fb_destroy = drm_fbdev_ttm_fb_destroy ,
66
66
};
67
67
68
68
/*
69
69
* This function uses the client API to create a framebuffer backed by a dumb buffer.
70
70
*/
71
- static int drm_fbdev_generic_helper_fb_probe (struct drm_fb_helper * fb_helper ,
71
+ static int drm_fbdev_ttm_helper_fb_probe (struct drm_fb_helper * fb_helper ,
72
72
struct drm_fb_helper_surface_size * sizes )
73
73
{
74
74
struct drm_client_dev * client = & fb_helper -> client ;
@@ -108,7 +108,7 @@ static int drm_fbdev_generic_helper_fb_probe(struct drm_fb_helper *fb_helper,
108
108
109
109
drm_fb_helper_fill_info (info , fb_helper , sizes );
110
110
111
- info -> fbops = & drm_fbdev_generic_fb_ops ;
111
+ info -> fbops = & drm_fbdev_ttm_fb_ops ;
112
112
113
113
/* screen */
114
114
info -> flags |= FBINFO_VIRTFB | FBINFO_READS_FAST ;
@@ -137,9 +137,9 @@ static int drm_fbdev_generic_helper_fb_probe(struct drm_fb_helper *fb_helper,
137
137
return ret ;
138
138
}
139
139
140
- static void drm_fbdev_generic_damage_blit_real (struct drm_fb_helper * fb_helper ,
141
- struct drm_clip_rect * clip ,
142
- struct iosys_map * dst )
140
+ static void drm_fbdev_ttm_damage_blit_real (struct drm_fb_helper * fb_helper ,
141
+ struct drm_clip_rect * clip ,
142
+ struct iosys_map * dst )
143
143
{
144
144
struct drm_framebuffer * fb = fb_helper -> fb ;
145
145
size_t offset = clip -> y1 * fb -> pitches [0 ];
@@ -176,8 +176,8 @@ static void drm_fbdev_generic_damage_blit_real(struct drm_fb_helper *fb_helper,
176
176
}
177
177
}
178
178
179
- static int drm_fbdev_generic_damage_blit (struct drm_fb_helper * fb_helper ,
180
- struct drm_clip_rect * clip )
179
+ static int drm_fbdev_ttm_damage_blit (struct drm_fb_helper * fb_helper ,
180
+ struct drm_clip_rect * clip )
181
181
{
182
182
struct drm_client_buffer * buffer = fb_helper -> buffer ;
183
183
struct iosys_map map , dst ;
@@ -201,7 +201,7 @@ static int drm_fbdev_generic_damage_blit(struct drm_fb_helper *fb_helper,
201
201
goto out ;
202
202
203
203
dst = map ;
204
- drm_fbdev_generic_damage_blit_real (fb_helper , clip , & dst );
204
+ drm_fbdev_ttm_damage_blit_real (fb_helper , clip , & dst );
205
205
206
206
drm_client_buffer_vunmap_local (buffer );
207
207
@@ -211,8 +211,8 @@ static int drm_fbdev_generic_damage_blit(struct drm_fb_helper *fb_helper,
211
211
return ret ;
212
212
}
213
213
214
- static int drm_fbdev_generic_helper_fb_dirty (struct drm_fb_helper * helper ,
215
- struct drm_clip_rect * clip )
214
+ static int drm_fbdev_ttm_helper_fb_dirty (struct drm_fb_helper * helper ,
215
+ struct drm_clip_rect * clip )
216
216
{
217
217
struct drm_device * dev = helper -> dev ;
218
218
int ret ;
@@ -221,7 +221,7 @@ static int drm_fbdev_generic_helper_fb_dirty(struct drm_fb_helper *helper,
221
221
if (!(clip -> x1 < clip -> x2 && clip -> y1 < clip -> y2 ))
222
222
return 0 ;
223
223
224
- ret = drm_fbdev_generic_damage_blit (helper , clip );
224
+ ret = drm_fbdev_ttm_damage_blit (helper , clip );
225
225
if (drm_WARN_ONCE (dev , ret , "Damage blitter failed: ret=%d\n" , ret ))
226
226
return ret ;
227
227
@@ -234,12 +234,12 @@ static int drm_fbdev_generic_helper_fb_dirty(struct drm_fb_helper *helper,
234
234
return 0 ;
235
235
}
236
236
237
- static const struct drm_fb_helper_funcs drm_fbdev_generic_helper_funcs = {
238
- .fb_probe = drm_fbdev_generic_helper_fb_probe ,
239
- .fb_dirty = drm_fbdev_generic_helper_fb_dirty ,
237
+ static const struct drm_fb_helper_funcs drm_fbdev_ttm_helper_funcs = {
238
+ .fb_probe = drm_fbdev_ttm_helper_fb_probe ,
239
+ .fb_dirty = drm_fbdev_ttm_helper_fb_dirty ,
240
240
};
241
241
242
- static void drm_fbdev_generic_client_unregister (struct drm_client_dev * client )
242
+ static void drm_fbdev_ttm_client_unregister (struct drm_client_dev * client )
243
243
{
244
244
struct drm_fb_helper * fb_helper = drm_fb_helper_from_client (client );
245
245
@@ -252,14 +252,14 @@ static void drm_fbdev_generic_client_unregister(struct drm_client_dev *client)
252
252
}
253
253
}
254
254
255
- static int drm_fbdev_generic_client_restore (struct drm_client_dev * client )
255
+ static int drm_fbdev_ttm_client_restore (struct drm_client_dev * client )
256
256
{
257
257
drm_fb_helper_lastclose (client -> dev );
258
258
259
259
return 0 ;
260
260
}
261
261
262
- static int drm_fbdev_generic_client_hotplug (struct drm_client_dev * client )
262
+ static int drm_fbdev_ttm_client_hotplug (struct drm_client_dev * client )
263
263
{
264
264
struct drm_fb_helper * fb_helper = drm_fb_helper_from_client (client );
265
265
struct drm_device * dev = client -> dev ;
@@ -284,32 +284,32 @@ static int drm_fbdev_generic_client_hotplug(struct drm_client_dev *client)
284
284
err_drm_fb_helper_fini :
285
285
drm_fb_helper_fini (fb_helper );
286
286
err_drm_err :
287
- drm_err (dev , "fbdev: Failed to setup generic emulation (ret=%d)\n" , ret );
287
+ drm_err (dev , "fbdev: Failed to setup emulation (ret=%d)\n" , ret );
288
288
return ret ;
289
289
}
290
290
291
- static const struct drm_client_funcs drm_fbdev_generic_client_funcs = {
291
+ static const struct drm_client_funcs drm_fbdev_ttm_client_funcs = {
292
292
.owner = THIS_MODULE ,
293
- .unregister = drm_fbdev_generic_client_unregister ,
294
- .restore = drm_fbdev_generic_client_restore ,
295
- .hotplug = drm_fbdev_generic_client_hotplug ,
293
+ .unregister = drm_fbdev_ttm_client_unregister ,
294
+ .restore = drm_fbdev_ttm_client_restore ,
295
+ .hotplug = drm_fbdev_ttm_client_hotplug ,
296
296
};
297
297
298
298
/**
299
- * drm_fbdev_generic_setup () - Setup generic fbdev emulation
299
+ * drm_fbdev_ttm_setup () - Setup fbdev emulation for TTM-based drivers
300
300
* @dev: DRM device
301
301
* @preferred_bpp: Preferred bits per pixel for the device.
302
302
*
303
- * This function sets up generic fbdev emulation for drivers that supports
303
+ * This function sets up fbdev emulation for TTM-based drivers that support
304
304
* dumb buffers with a virtual address and that can be mmap'ed.
305
- * drm_fbdev_generic_setup () shall be called after the DRM driver registered
305
+ * drm_fbdev_ttm_setup () shall be called after the DRM driver registered
306
306
* the new DRM device with drm_dev_register().
307
307
*
308
308
* Restore, hotplug events and teardown are all taken care of. Drivers that do
309
309
* suspend/resume need to call drm_fb_helper_set_suspend_unlocked() themselves.
310
310
* Simple drivers might use drm_mode_config_helper_suspend().
311
311
*
312
- * In order to provide fixed mmap-able memory ranges, generic fbdev emulation
312
+ * In order to provide fixed mmap-able memory ranges, fbdev emulation
313
313
* uses a shadow buffer in system memory. The implementation blits the shadow
314
314
* fbdev buffer onto the real buffer in regular intervals.
315
315
*
@@ -318,7 +318,7 @@ static const struct drm_client_funcs drm_fbdev_generic_client_funcs = {
318
318
*
319
319
* The fbdev is destroyed by drm_dev_unregister().
320
320
*/
321
- void drm_fbdev_generic_setup (struct drm_device * dev , unsigned int preferred_bpp )
321
+ void drm_fbdev_ttm_setup (struct drm_device * dev , unsigned int preferred_bpp )
322
322
{
323
323
struct drm_fb_helper * fb_helper ;
324
324
int ret ;
@@ -329,9 +329,9 @@ void drm_fbdev_generic_setup(struct drm_device *dev, unsigned int preferred_bpp)
329
329
fb_helper = kzalloc (sizeof (* fb_helper ), GFP_KERNEL );
330
330
if (!fb_helper )
331
331
return ;
332
- drm_fb_helper_prepare (dev , fb_helper , preferred_bpp , & drm_fbdev_generic_helper_funcs );
332
+ drm_fb_helper_prepare (dev , fb_helper , preferred_bpp , & drm_fbdev_ttm_helper_funcs );
333
333
334
- ret = drm_client_init (dev , & fb_helper -> client , "fbdev" , & drm_fbdev_generic_client_funcs );
334
+ ret = drm_client_init (dev , & fb_helper -> client , "fbdev" , & drm_fbdev_ttm_client_funcs );
335
335
if (ret ) {
336
336
drm_err (dev , "Failed to register client: %d\n" , ret );
337
337
goto err_drm_client_init ;
@@ -346,4 +346,4 @@ void drm_fbdev_generic_setup(struct drm_device *dev, unsigned int preferred_bpp)
346
346
kfree (fb_helper );
347
347
return ;
348
348
}
349
- EXPORT_SYMBOL (drm_fbdev_generic_setup );
349
+ EXPORT_SYMBOL (drm_fbdev_ttm_setup );
0 commit comments