2 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
4 * Inki Dae <inki.dae@samsung.com>
5 * Joonyoung Shim <jy0922.shim@samsung.com>
6 * Seung-Woo Kim <sw0312.kim@samsung.com>
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation; either version 2 of the License, or (at your
11 * option) any later version.
14 #ifndef _EXYNOS_DRM_ENCODER_H_
15 #define _EXYNOS_DRM_ENCODER_H_
17 struct exynos_drm_manager
;
19 void exynos_drm_encoder_setup(struct drm_device
*dev
);
20 struct drm_encoder
*exynos_drm_encoder_create(struct drm_device
*dev
,
21 struct exynos_drm_manager
*mgr
,
22 unsigned int possible_crtcs
);
23 struct exynos_drm_manager
*
24 exynos_drm_get_manager(struct drm_encoder
*encoder
);
25 void exynos_drm_fn_encoder(struct drm_crtc
*crtc
, void *data
,
26 void (*fn
)(struct drm_encoder
*, void *));
27 void exynos_drm_enable_vblank(struct drm_encoder
*encoder
, void *data
);
28 void exynos_drm_disable_vblank(struct drm_encoder
*encoder
, void *data
);
29 void exynos_drm_encoder_crtc_dpms(struct drm_encoder
*encoder
, void *data
);
30 void exynos_drm_encoder_crtc_pipe(struct drm_encoder
*encoder
, void *data
);
31 void exynos_drm_encoder_plane_mode_set(struct drm_encoder
*encoder
, void *data
);
32 void exynos_drm_encoder_plane_commit(struct drm_encoder
*encoder
, void *data
);
33 void exynos_drm_encoder_plane_enable(struct drm_encoder
*encoder
, void *data
);
34 void exynos_drm_encoder_plane_disable(struct drm_encoder
*encoder
, void *data
);
35 void exynos_drm_encoder_complete_scanout(struct drm_framebuffer
*fb
);