• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) Fuzhou Rockchip Electronics Co.Ltd
4  * Author:Mark Yao <mark.yao@rock-chips.com>
5  */
6 
7 #ifndef _ROCKCHIP_DRM_FB_H
8 #define _ROCKCHIP_DRM_FB_H
9 
10 #include "rockchip_drm_gem.h"
11 
12 #define ROCKCHIP_DRM_MODE_LOGO_FB                                                                                      \
13     (1 << 31) /* used for kernel logo, follow the define: DRM_MODE_FB_MODIFIERS at drm_mode.h */
14 
15 struct drm_framebuffer *rockchip_drm_framebuffer_init(struct drm_device *dev, const struct drm_mode_fb_cmd2 *mode_cmd,
16                                                       struct drm_gem_object *obj);
17 void rockchip_drm_framebuffer_fini(struct drm_framebuffer *fb);
18 
19 void rockchip_drm_mode_config_init(struct drm_device *dev);
20 struct drm_framebuffer *rockchip_drm_logo_fb_alloc(struct drm_device *dev, const struct drm_mode_fb_cmd2 *mode_cmd,
21                                                    struct rockchip_logo *logo);
22 
23 #define to_rockchip_logo_fb(x) container_of(x, struct rockchip_drm_logo_fb, fb)
24 
25 struct rockchip_drm_logo_fb {
26     struct drm_framebuffer fb;
27     struct rockchip_logo *logo;
28     struct rockchip_gem_object rk_obj;
29 };
30 
31 #endif /* _ROCKCHIP_DRM_FB_H */
32