2 * shmob_drm_crtc.h -- SH Mobile DRM CRTCs
4 * Copyright (C) 2012 Renesas Corporation
6 * Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
14 #ifndef __SHMOB_DRM_CRTC_H__
15 #define __SHMOB_DRM_CRTC_H__
18 #include <drm/drm_crtc.h>
20 struct backlight_device
;
21 struct shmob_drm_device
;
23 struct shmob_drm_crtc
{
26 struct drm_pending_vblank_event
*event
;
29 const struct shmob_drm_format_info
*format
;
32 unsigned int line_size
;
36 struct shmob_drm_encoder
{
37 struct drm_encoder encoder
;
41 struct shmob_drm_connector
{
42 struct drm_connector connector
;
43 struct drm_encoder
*encoder
;
45 struct backlight_device
*backlight
;
48 int shmob_drm_crtc_create(struct shmob_drm_device
*sdev
);
49 void shmob_drm_crtc_enable_vblank(struct shmob_drm_device
*sdev
, bool enable
);
50 void shmob_drm_crtc_cancel_page_flip(struct shmob_drm_crtc
*scrtc
,
51 struct drm_file
*file
);
52 void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc
*scrtc
);
53 void shmob_drm_crtc_suspend(struct shmob_drm_crtc
*scrtc
);
54 void shmob_drm_crtc_resume(struct shmob_drm_crtc
*scrtc
);
56 int shmob_drm_encoder_create(struct shmob_drm_device
*sdev
);
57 int shmob_drm_connector_create(struct shmob_drm_device
*sdev
,
58 struct drm_encoder
*encoder
);
60 #endif /* __SHMOB_DRM_CRTC_H__ */