drm/exynos: mixer: enable video overlay plane only when VP is available 19/70519/1
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 30 Nov 2015 13:53:24 +0000 (14:53 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 19 May 2016 09:18:34 +0000 (11:18 +0200)
Video overlay plane should be registered only when suitable hardware
sub-block (Video Processor) is available.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
[backport of mainline commit ab14420125c3cd1111f57731f0f9359c4e64d76a
 to let Enlightenment to use video/osd graphics plane]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I0636d35a660960015816224ceb19f6c7fb6abe26

drivers/gpu/drm/exynos/exynos_mixer.c

index 55d4fcddc3a21e90edee8906d21cc435267d7a6c..930ed9ce018ff60910f55b524a91eee6d60af087 100644 (file)
@@ -42,6 +42,7 @@
 #include "exynos_mixer.h"
 
 #define MIXER_WIN_NR           3
+#define VP_DEFAULT_WIN         2
 #define MIXER_DEFAULT_WIN      0
 
 /* The pixelformats that are natively supported by the mixer. */
@@ -1233,6 +1234,8 @@ static int mixer_bind(struct device *dev, struct device *manager, void *data)
                return ret;
 
        for (zpos = 0; zpos < MIXER_WIN_NR; zpos++) {
+               if (zpos == VP_DEFAULT_WIN && !ctx->vp_enabled)
+                       continue;
                type = (zpos == MIXER_DEFAULT_WIN) ? DRM_PLANE_TYPE_PRIMARY :
                                                DRM_PLANE_TYPE_OVERLAY;
                ret = exynos_plane_init(drm_dev, &ctx->planes[zpos],