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