aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_fb.h
diff options
context:
space:
mode:
authorSeung-Woo Kim <sw0312.kim@samsung.com>2011-12-15 00:36:22 -0500
committerInki Dae <inki.dae@samsung.com>2011-12-28 21:21:42 -0500
commit229d3534f5bd73fe6247a9e2a92ab0ef69fbc980 (patch)
tree29adacc9826be07a9628ef7fedeb6dc85ca9db63 /drivers/gpu/drm/exynos/exynos_drm_fb.h
parent83052d4d5cd518332440bb4ee63d68bb5f744e0f (diff)
drm/exynos: Support multi buffers
These formats(NV12M, NV12MT and YUV420M) have non contiguous multi planes, so each plane uses different buffer. The exynos drm should support multi buffer for them. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_fb.h')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.h b/drivers/gpu/drm/exynos/exynos_drm_fb.h
index 8b3e12f97719..3ecb30d93552 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.h
@@ -28,11 +28,28 @@
28#ifndef _EXYNOS_DRM_FB_H_ 28#ifndef _EXYNOS_DRM_FB_H_
29#define _EXYNOS_DRM_FB_H 29#define _EXYNOS_DRM_FB_H
30 30
31static inline int exynos_drm_format_num_buffers(uint32_t format)
32{
33 switch (format) {
34 case DRM_FORMAT_NV12M:
35 case DRM_FORMAT_NV12MT:
36 return 2;
37 case DRM_FORMAT_YUV420M:
38 return 3;
39 default:
40 return 1;
41 }
42}
43
31struct drm_framebuffer * 44struct drm_framebuffer *
32exynos_drm_framebuffer_init(struct drm_device *dev, 45exynos_drm_framebuffer_init(struct drm_device *dev,
33 struct drm_mode_fb_cmd2 *mode_cmd, 46 struct drm_mode_fb_cmd2 *mode_cmd,
34 struct drm_gem_object *obj); 47 struct drm_gem_object *obj);
35 48
49/* get memory information of a drm framebuffer */
50struct exynos_drm_gem_buf *exynos_drm_fb_buffer(struct drm_framebuffer *fb,
51 int index);
52
36void exynos_drm_mode_config_init(struct drm_device *dev); 53void exynos_drm_mode_config_init(struct drm_device *dev);
37 54
38#endif 55#endif