drm/exynos: Fix default value for zpos plane property
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 23 May 2018 10:15:50 +0000 (12:15 +0200)
committerInki Dae <inki.dae@samsung.com>
Thu, 24 May 2018 09:24:54 +0000 (18:24 +0900)
The default zpos property for all planes in Exynos DRM was fixed as zero.
Fix this by providing proper value provided by hardware drivers, which
typically matches hardware window number.

Reported-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Fixes: e47726a11e11 ("drm/exynos: use generic code for managing zpos plane property")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_plane.c

index d2a90dae5c71085c6ac919bc709c8dd378e39863..38a2a7f1204be7a9ef416556db031cf8eaa07770 100644 (file)
@@ -289,13 +289,12 @@ static const struct drm_plane_helper_funcs plane_helper_funcs = {
 };
 
 static void exynos_plane_attach_zpos_property(struct drm_plane *plane,
-                                             bool immutable)
+                                             int zpos, bool immutable)
 {
-       /* FIXME */
        if (immutable)
-               drm_plane_create_zpos_immutable_property(plane, 0);
+               drm_plane_create_zpos_immutable_property(plane, zpos);
        else
-               drm_plane_create_zpos_property(plane, 0, 0, MAX_PLANE - 1);
+               drm_plane_create_zpos_property(plane, zpos, 0, MAX_PLANE - 1);
 }
 
 int exynos_plane_init(struct drm_device *dev,
@@ -320,7 +319,7 @@ int exynos_plane_init(struct drm_device *dev,
        exynos_plane->index = index;
        exynos_plane->config = config;
 
-       exynos_plane_attach_zpos_property(&exynos_plane->base,
+       exynos_plane_attach_zpos_property(&exynos_plane->base, config->zpos,
                           !(config->capabilities & EXYNOS_DRM_PLANE_CAP_ZPOS));
 
        return 0;