.. | .. |
---|
1 | 1 | #ifndef __DRM_GEM_FB_HELPER_H__ |
---|
2 | 2 | #define __DRM_GEM_FB_HELPER_H__ |
---|
3 | 3 | |
---|
| 4 | +struct drm_afbc_framebuffer; |
---|
4 | 5 | struct drm_device; |
---|
5 | 6 | struct drm_fb_helper_surface_size; |
---|
6 | 7 | struct drm_file; |
---|
.. | .. |
---|
12 | 13 | struct drm_plane_state; |
---|
13 | 14 | struct drm_simple_display_pipe; |
---|
14 | 15 | |
---|
| 16 | +#define AFBC_VENDOR_AND_TYPE_MASK GENMASK_ULL(63, 52) |
---|
| 17 | + |
---|
15 | 18 | struct drm_gem_object *drm_gem_fb_get_obj(struct drm_framebuffer *fb, |
---|
16 | 19 | unsigned int plane); |
---|
17 | 20 | void drm_gem_fb_destroy(struct drm_framebuffer *fb); |
---|
18 | 21 | int drm_gem_fb_create_handle(struct drm_framebuffer *fb, struct drm_file *file, |
---|
19 | 22 | unsigned int *handle); |
---|
20 | 23 | |
---|
| 24 | +int drm_gem_fb_init_with_funcs(struct drm_device *dev, |
---|
| 25 | + struct drm_framebuffer *fb, |
---|
| 26 | + struct drm_file *file, |
---|
| 27 | + const struct drm_mode_fb_cmd2 *mode_cmd, |
---|
| 28 | + const struct drm_framebuffer_funcs *funcs); |
---|
21 | 29 | struct drm_framebuffer * |
---|
22 | 30 | drm_gem_fb_create_with_funcs(struct drm_device *dev, struct drm_file *file, |
---|
23 | 31 | const struct drm_mode_fb_cmd2 *mode_cmd, |
---|
.. | .. |
---|
25 | 33 | struct drm_framebuffer * |
---|
26 | 34 | drm_gem_fb_create(struct drm_device *dev, struct drm_file *file, |
---|
27 | 35 | const struct drm_mode_fb_cmd2 *mode_cmd); |
---|
| 36 | +struct drm_framebuffer * |
---|
| 37 | +drm_gem_fb_create_with_dirty(struct drm_device *dev, struct drm_file *file, |
---|
| 38 | + const struct drm_mode_fb_cmd2 *mode_cmd); |
---|
| 39 | + |
---|
| 40 | +#define drm_is_afbc(modifier) \ |
---|
| 41 | + (((modifier) & AFBC_VENDOR_AND_TYPE_MASK) == DRM_FORMAT_MOD_ARM_AFBC(0)) |
---|
| 42 | + |
---|
| 43 | +int drm_gem_fb_afbc_init(struct drm_device *dev, |
---|
| 44 | + const struct drm_mode_fb_cmd2 *mode_cmd, |
---|
| 45 | + struct drm_afbc_framebuffer *afbc_fb); |
---|
28 | 46 | |
---|
29 | 47 | int drm_gem_fb_prepare_fb(struct drm_plane *plane, |
---|
30 | 48 | struct drm_plane_state *state); |
---|
31 | 49 | int drm_gem_fb_simple_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, |
---|
32 | 50 | struct drm_plane_state *plane_state); |
---|
33 | | - |
---|
34 | | -struct drm_framebuffer * |
---|
35 | | -drm_gem_fbdev_fb_create(struct drm_device *dev, |
---|
36 | | - struct drm_fb_helper_surface_size *sizes, |
---|
37 | | - unsigned int pitch_align, struct drm_gem_object *obj, |
---|
38 | | - const struct drm_framebuffer_funcs *funcs); |
---|
39 | | - |
---|
40 | 51 | #endif |
---|