1 #ifndef __DRM_GEM_FB_HELPER_H__ 2 #define __DRM_GEM_FB_HELPER_H__ 3 4 struct drm_device; 5 struct drm_fb_helper_surface_size; 6 struct drm_file; 7 struct drm_framebuffer; 8 struct drm_framebuffer_funcs; 9 struct drm_gem_object; 10 struct drm_mode_fb_cmd2; 11 struct drm_plane; 12 struct drm_plane_state; 13 struct drm_simple_display_pipe; 14 15 struct drm_gem_object *drm_gem_fb_get_obj(struct drm_framebuffer *fb, 16 unsigned int plane); 17 void drm_gem_fb_destroy(struct drm_framebuffer *fb); 18 int drm_gem_fb_create_handle(struct drm_framebuffer *fb, struct drm_file *file, 19 unsigned int *handle); 20 21 struct drm_framebuffer * 22 drm_gem_fb_create_with_funcs(struct drm_device *dev, struct drm_file *file, 23 const struct drm_mode_fb_cmd2 *mode_cmd, 24 const struct drm_framebuffer_funcs *funcs); 25 struct drm_framebuffer * 26 drm_gem_fb_create(struct drm_device *dev, struct drm_file *file, 27 const struct drm_mode_fb_cmd2 *mode_cmd); 28 struct drm_framebuffer * 29 drm_gem_fb_create_with_dirty(struct drm_device *dev, struct drm_file *file, 30 const struct drm_mode_fb_cmd2 *mode_cmd); 31 32 int drm_gem_fb_prepare_fb(struct drm_plane *plane, 33 struct drm_plane_state *state); 34 int drm_gem_fb_simple_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, 35 struct drm_plane_state *plane_state); 36 37 struct drm_framebuffer * 38 drm_gem_fbdev_fb_create(struct drm_device *dev, 39 struct drm_fb_helper_surface_size *sizes, 40 unsigned int pitch_align, struct drm_gem_object *obj, 41 const struct drm_framebuffer_funcs *funcs); 42 43 #endif 44