Commit | Line | Data |
---|---|---|
51c13278 LP |
1 | /* |
2 | * shmob_drm_crtc.h -- SH Mobile DRM CRTCs | |
3 | * | |
9588b826 | 4 | * Copyright (C) 2012 Renesas Electronics Corporation |
51c13278 LP |
5 | * |
6 | * Laurent Pinchart (laurent.pinchart@ideasonboard.com) | |
7 | * | |
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. | |
12 | */ | |
13 | ||
14 | #ifndef __SHMOB_DRM_CRTC_H__ | |
15 | #define __SHMOB_DRM_CRTC_H__ | |
16 | ||
17 | #include <drm/drmP.h> | |
18 | #include <drm/drm_crtc.h> | |
19 | ||
20 | struct backlight_device; | |
21 | struct shmob_drm_device; | |
22 | ||
23 | struct shmob_drm_crtc { | |
24 | struct drm_crtc crtc; | |
25 | ||
26 | struct drm_pending_vblank_event *event; | |
27 | int dpms; | |
28 | ||
29 | const struct shmob_drm_format_info *format; | |
30 | void *cache; | |
31 | unsigned long dma[2]; | |
32 | unsigned int line_size; | |
33 | bool started; | |
34 | }; | |
35 | ||
36 | struct shmob_drm_encoder { | |
37 | struct drm_encoder encoder; | |
38 | int dpms; | |
39 | }; | |
40 | ||
41 | struct shmob_drm_connector { | |
42 | struct drm_connector connector; | |
43 | struct drm_encoder *encoder; | |
44 | ||
45 | struct backlight_device *backlight; | |
46 | }; | |
47 | ||
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); | |
51c13278 LP |
50 | void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc); |
51 | void shmob_drm_crtc_suspend(struct shmob_drm_crtc *scrtc); | |
52 | void shmob_drm_crtc_resume(struct shmob_drm_crtc *scrtc); | |
53 | ||
54 | int shmob_drm_encoder_create(struct shmob_drm_device *sdev); | |
55 | int shmob_drm_connector_create(struct shmob_drm_device *sdev, | |
56 | struct drm_encoder *encoder); | |
57 | ||
58 | #endif /* __SHMOB_DRM_CRTC_H__ */ |