1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* exynos_drm_crtc.h |
3 | * |
4 | * Copyright (c) 2011 Samsung Electronics Co., Ltd. |
5 | * Authors: |
6 | * Inki Dae <inki.dae@samsung.com> |
7 | * Joonyoung Shim <jy0922.shim@samsung.com> |
8 | * Seung-Woo Kim <sw0312.kim@samsung.com> |
9 | */ |
10 | |
11 | #ifndef _EXYNOS_DRM_CRTC_H_ |
12 | #define _EXYNOS_DRM_CRTC_H_ |
13 | |
14 | |
15 | #include "exynos_drm_drv.h" |
16 | |
17 | struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, |
18 | struct drm_plane *plane, |
19 | enum exynos_drm_output_type out_type, |
20 | const struct exynos_drm_crtc_ops *ops, |
21 | void *context); |
22 | void exynos_drm_crtc_wait_pending_update(struct exynos_drm_crtc *exynos_crtc); |
23 | void exynos_drm_crtc_finish_update(struct exynos_drm_crtc *exynos_crtc, |
24 | struct exynos_drm_plane *exynos_plane); |
25 | |
26 | /* This function gets crtc device matched with out_type. */ |
27 | struct exynos_drm_crtc *exynos_drm_crtc_get_by_type(struct drm_device *drm_dev, |
28 | enum exynos_drm_output_type out_type); |
29 | |
30 | int exynos_drm_set_possible_crtcs(struct drm_encoder *encoder, |
31 | enum exynos_drm_output_type out_type); |
32 | |
33 | /* |
34 | * This function calls the crtc device(manager)'s te_handler() callback |
35 | * to trigger to transfer video image at the tearing effect synchronization |
36 | * signal. |
37 | */ |
38 | void exynos_drm_crtc_te_handler(struct drm_crtc *crtc); |
39 | |
40 | void exynos_crtc_handle_event(struct exynos_drm_crtc *exynos_crtc); |
41 | |
42 | #endif |
43 | |