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