1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * shmob_drm_crtc.h -- SH Mobile DRM CRTCs
5 * Copyright (C) 2012 Renesas Electronics Corporation
7 * Laurent Pinchart (laurent.pinchart@ideasonboard.com)
10 #ifndef __SHMOB_DRM_CRTC_H__
11 #define __SHMOB_DRM_CRTC_H__
13 #include <drm/drm_crtc.h>
14 #include <drm/drm_connector.h>
15 #include <drm/drm_encoder.h>
17 struct backlight_device
;
18 struct drm_pending_vblank_event
;
19 struct shmob_drm_device
;
20 struct shmob_drm_format_info
;
22 struct shmob_drm_crtc
{
25 struct drm_pending_vblank_event
*event
;
28 const struct shmob_drm_format_info
*format
;
30 unsigned int line_size
;
34 struct shmob_drm_encoder
{
35 struct drm_encoder encoder
;
39 struct shmob_drm_connector
{
40 struct drm_connector connector
;
41 struct drm_encoder
*encoder
;
43 struct backlight_device
*backlight
;
46 int shmob_drm_crtc_create(struct shmob_drm_device
*sdev
);
47 void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc
*scrtc
);
48 void shmob_drm_crtc_suspend(struct shmob_drm_crtc
*scrtc
);
49 void shmob_drm_crtc_resume(struct shmob_drm_crtc
*scrtc
);
51 int shmob_drm_encoder_create(struct shmob_drm_device
*sdev
);
52 int shmob_drm_connector_create(struct shmob_drm_device
*sdev
,
53 struct drm_encoder
*encoder
);
55 #endif /* __SHMOB_DRM_CRTC_H__ */