8b89734c4c918802ba5c986267fd3b4fc297dfca
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / rockchip / rockchip_drm_encoder.h
1 /*
2  * Copyright (C) ROCKCHIP, Inc.
3  * Author:yzq<yzq@rock-chips.com>
4  * This software is licensed under the terms of the GNU General Public
5  * License version 2, as published by the Free Software Foundation, and
6  * may be copied, distributed, and modified under those terms.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  */
13
14 #ifndef _ROCKCHIP_DRM_ENCODER_H_
15 #define _ROCKCHIP_DRM_ENCODER_H_
16
17 struct rockchip_drm_manager;
18
19 void rockchip_drm_encoder_setup(struct drm_device *dev);
20 struct drm_encoder *rockchip_drm_encoder_create(struct drm_device *dev,
21                                                struct rockchip_drm_manager *mgr,
22                                                unsigned int possible_crtcs);
23 struct rockchip_drm_manager *
24 rockchip_drm_get_manager(struct drm_encoder *encoder);
25 void rockchip_drm_fn_encoder(struct drm_crtc *crtc, void *data,
26                             void (*fn)(struct drm_encoder *, void *));
27 void rockchip_drm_enable_vblank(struct drm_encoder *encoder, void *data);
28 void rockchip_drm_disable_vblank(struct drm_encoder *encoder, void *data);
29 void rockchip_drm_encoder_crtc_dpms(struct drm_encoder *encoder, void *data);
30 void rockchip_drm_encoder_crtc_pipe(struct drm_encoder *encoder, void *data);
31 void rockchip_drm_encoder_plane_mode_set(struct drm_encoder *encoder, void *data);
32 void rockchip_drm_encoder_plane_commit(struct drm_encoder *encoder, void *data);
33 void rockchip_drm_encoder_plane_enable(struct drm_encoder *encoder, void *data);
34 void rockchip_drm_encoder_plane_disable(struct drm_encoder *encoder, void *data);
35 void rockchip_drm_encoder_complete_scanout(struct drm_framebuffer *fb);
36
37 #endif