Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * shmob_drm_crtc.h -- SH Mobile DRM CRTCs
4 *
5 * Copyright (C) 2012 Renesas Electronics Corporation
6 *
7 * Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8 */
9
10#ifndef __SHMOB_DRM_CRTC_H__
11#define __SHMOB_DRM_CRTC_H__
12
13#include <drm/drmP.h>
14#include <drm/drm_crtc.h>
15#include <drm/drm_encoder.h>
16
17struct backlight_device;
18struct shmob_drm_device;
19
20struct shmob_drm_crtc {
21 struct drm_crtc crtc;
22
23 struct drm_pending_vblank_event *event;
24 int dpms;
25
26 const struct shmob_drm_format_info *format;
27 unsigned long dma[2];
28 unsigned int line_size;
29 bool started;
30};
31
32struct shmob_drm_encoder {
33 struct drm_encoder encoder;
34 int dpms;
35};
36
37struct shmob_drm_connector {
38 struct drm_connector connector;
39 struct drm_encoder *encoder;
40
41 struct backlight_device *backlight;
42};
43
44int shmob_drm_crtc_create(struct shmob_drm_device *sdev);
45void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc);
46void shmob_drm_crtc_suspend(struct shmob_drm_crtc *scrtc);
47void shmob_drm_crtc_resume(struct shmob_drm_crtc *scrtc);
48
49int shmob_drm_encoder_create(struct shmob_drm_device *sdev);
50int shmob_drm_connector_create(struct shmob_drm_device *sdev,
51 struct drm_encoder *encoder);
52
53#endif /* __SHMOB_DRM_CRTC_H__ */