Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /* exynos_drm_crtc.h
0003  *
0004  * Copyright (c) 2011 Samsung Electronics Co., Ltd.
0005  * Authors:
0006  *  Inki Dae <inki.dae@samsung.com>
0007  *  Joonyoung Shim <jy0922.shim@samsung.com>
0008  *  Seung-Woo Kim <sw0312.kim@samsung.com>
0009  */
0010 
0011 #ifndef _EXYNOS_DRM_CRTC_H_
0012 #define _EXYNOS_DRM_CRTC_H_
0013 
0014 
0015 #include "exynos_drm_drv.h"
0016 
0017 struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev,
0018                     struct drm_plane *plane,
0019                     enum exynos_drm_output_type out_type,
0020                     const struct exynos_drm_crtc_ops *ops,
0021                     void *context);
0022 void exynos_drm_crtc_wait_pending_update(struct exynos_drm_crtc *exynos_crtc);
0023 void exynos_drm_crtc_finish_update(struct exynos_drm_crtc *exynos_crtc,
0024                    struct exynos_drm_plane *exynos_plane);
0025 
0026 /* This function gets crtc device matched with out_type. */
0027 struct exynos_drm_crtc *exynos_drm_crtc_get_by_type(struct drm_device *drm_dev,
0028                        enum exynos_drm_output_type out_type);
0029 
0030 int exynos_drm_set_possible_crtcs(struct drm_encoder *encoder,
0031         enum exynos_drm_output_type out_type);
0032 
0033 /*
0034  * This function calls the crtc device(manager)'s te_handler() callback
0035  * to trigger to transfer video image at the tearing effect synchronization
0036  * signal.
0037  */
0038 void exynos_drm_crtc_te_handler(struct drm_crtc *crtc);
0039 
0040 void exynos_crtc_handle_event(struct exynos_drm_crtc *exynos_crtc);
0041 
0042 #endif