1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2016 Linaro Limited.
4 * Copyright (c) 2014-2016 Hisilicon Limited.
7 #ifndef __KIRIN_DRM_DRV_H__
8 #define __KIRIN_DRM_DRV_H__
12 #define to_kirin_crtc(crtc) \
13 container_of(crtc, struct kirin_crtc, base)
15 #define to_kirin_plane(plane) \
16 container_of(plane, struct kirin_plane, base)
18 /* kirin-format translate table */
31 struct drm_plane base;
36 /* display controller init/cleanup ops */
37 struct kirin_drm_data {
38 const u32 *channel_formats;
39 u32 channel_formats_cnt;
41 int config_max_height;
45 struct drm_driver *driver;
46 const struct drm_crtc_helper_funcs *crtc_helper_funcs;
47 const struct drm_crtc_funcs *crtc_funcs;
48 const struct drm_plane_helper_funcs *plane_helper_funcs;
49 const struct drm_plane_funcs *plane_funcs;
50 const struct drm_mode_config_funcs *mode_config_funcs;
51 int (*init)(struct platform_device *pdev);
52 void (*cleanup)(struct platform_device *pdev);
55 extern struct kirin_drm_data ade_driver_data;
57 #endif /* __KIRIN_DRM_DRV_H__ */