11c248b7dSInki Dae /* exynos_drm_crtc.h 21c248b7dSInki Dae * 31c248b7dSInki Dae * Copyright (c) 2011 Samsung Electronics Co., Ltd. 41c248b7dSInki Dae * Authors: 51c248b7dSInki Dae * Inki Dae <inki.dae@samsung.com> 61c248b7dSInki Dae * Joonyoung Shim <jy0922.shim@samsung.com> 71c248b7dSInki Dae * Seung-Woo Kim <sw0312.kim@samsung.com> 81c248b7dSInki Dae * 9d81aecb5SInki Dae * This program is free software; you can redistribute it and/or modify it 10d81aecb5SInki Dae * under the terms of the GNU General Public License as published by the 11d81aecb5SInki Dae * Free Software Foundation; either version 2 of the License, or (at your 12d81aecb5SInki Dae * option) any later version. 131c248b7dSInki Dae */ 141c248b7dSInki Dae 151c248b7dSInki Dae #ifndef _EXYNOS_DRM_CRTC_H_ 161c248b7dSInki Dae #define _EXYNOS_DRM_CRTC_H_ 171c248b7dSInki Dae 18cc2d861cSGustavo Padovan #include "exynos_drm_drv.h" 19080be03dSSean Paul 2093bca243SGustavo Padovan struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, 217ee14cdcSGustavo Padovan struct drm_plane *plane, 2293bca243SGustavo Padovan int pipe, 2393bca243SGustavo Padovan enum exynos_drm_output_type type, 24f3aaf762SKrzysztof Kozlowski const struct exynos_drm_crtc_ops *ops, 2593bca243SGustavo Padovan void *context); 26080be03dSSean Paul int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int pipe); 27080be03dSSean Paul void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe); 28eafd540aSGustavo Padovan void exynos_drm_crtc_finish_pageflip(struct exynos_drm_crtc *exynos_crtc); 29080be03dSSean Paul void exynos_drm_crtc_complete_scanout(struct drm_framebuffer *fb); 30080be03dSSean Paul 31f37cd5e8SInki Dae /* This function gets pipe value to crtc device matched with out_type. */ 32f37cd5e8SInki Dae int exynos_drm_crtc_get_pipe_from_type(struct drm_device *drm_dev, 33*cf67cc9aSGustavo Padovan enum exynos_drm_output_type out_type); 34f37cd5e8SInki Dae 355595d4d8SYoungJun Cho /* 365595d4d8SYoungJun Cho * This function calls the crtc device(manager)'s te_handler() callback 375595d4d8SYoungJun Cho * to trigger to transfer video image at the tearing effect synchronization 385595d4d8SYoungJun Cho * signal. 395595d4d8SYoungJun Cho */ 405595d4d8SYoungJun Cho void exynos_drm_crtc_te_handler(struct drm_crtc *crtc); 415595d4d8SYoungJun Cho 421c248b7dSInki Dae #endif 43