Merge tag 'hardening-v6.2-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.git] / drivers / gpu / drm / imx / imx-drm.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
e692da4d
SH
2#ifndef _IMX_DRM_H_
3#define _IMX_DRM_H_
4
e7d6231e 5struct device_node;
eeb14ec8
PZ
6struct drm_crtc;
7struct drm_connector;
8struct drm_device;
8a51a33b 9struct drm_display_mode;
eeb14ec8 10struct drm_encoder;
eeb14ec8 11struct drm_framebuffer;
43895599 12struct drm_plane;
eeb14ec8 13struct platform_device;
e692da4d 14
49f98bc4
PZ
15struct imx_crtc_state {
16 struct drm_crtc_state base;
032003c5
LY
17 u32 bus_format;
18 u32 bus_flags;
19 int di_hsync_pin;
20 int di_vsync_pin;
21};
22
49f98bc4
PZ
23static inline struct imx_crtc_state *to_imx_crtc_state(struct drm_crtc_state *s)
24{
25 return container_of(s, struct imx_crtc_state, base);
26}
e692da4d
SH
27int imx_drm_init_drm(struct platform_device *pdev,
28 int preferred_bpp);
29int imx_drm_exit_drm(void);
30
3d1df96a
LS
31extern struct platform_driver ipu_drm_driver;
32
e692da4d
SH
33void imx_drm_mode_config_init(struct drm_device *drm);
34
4a83c26a 35struct drm_gem_dma_object *imx_drm_fb_get_obj(struct drm_framebuffer *fb);
e692da4d 36
9e2d410d
RK
37int imx_drm_encoder_parse_of(struct drm_device *drm,
38 struct drm_encoder *encoder, struct device_node *np);
e692da4d 39
8a51a33b 40void imx_drm_connector_destroy(struct drm_connector *connector);
baa68c4b 41
00514e85
LS
42int ipu_planes_assign_pre(struct drm_device *dev,
43 struct drm_atomic_state *state);
44
e692da4d 45#endif /* _IMX_DRM_H_ */