drm/msm/hdmi: Enable HPD after HDMI IRQ is set up
[linux/fpc-iii.git] / drivers / gpu / drm / shmobile / shmob_drm_crtc.h
blobc11f421737dc413db9b99579e23b5e2147a51dca
1 /*
2 * shmob_drm_crtc.h -- SH Mobile DRM CRTCs
4 * Copyright (C) 2012 Renesas Electronics 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__
17 #include <drm/drmP.h>
18 #include <drm/drm_crtc.h>
19 #include <drm/drm_encoder.h>
21 struct backlight_device;
22 struct shmob_drm_device;
24 struct shmob_drm_crtc {
25 struct drm_crtc crtc;
27 struct drm_pending_vblank_event *event;
28 int dpms;
30 const struct shmob_drm_format_info *format;
31 unsigned long dma[2];
32 unsigned int line_size;
33 bool started;
36 struct shmob_drm_encoder {
37 struct drm_encoder encoder;
38 int dpms;
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_finish_page_flip(struct shmob_drm_crtc *scrtc);
50 void shmob_drm_crtc_suspend(struct shmob_drm_crtc *scrtc);
51 void shmob_drm_crtc_resume(struct shmob_drm_crtc *scrtc);
53 int shmob_drm_encoder_create(struct shmob_drm_device *sdev);
54 int shmob_drm_connector_create(struct shmob_drm_device *sdev,
55 struct drm_encoder *encoder);
57 #endif /* __SHMOB_DRM_CRTC_H__ */