Browse Source

drm/exynos: Fix default value for zpos plane property

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>
Marek Szyprowski 7 years ago
parent
commit
e9dfe83d89
1 changed files with 4 additions and 5 deletions
  1. 4 5
      drivers/gpu/drm/exynos/exynos_drm_plane.c

+ 4 - 5
drivers/gpu/drm/exynos/exynos_drm_plane.c

@@ -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,
 static void exynos_plane_attach_zpos_property(struct drm_plane *plane,
-					      bool immutable)
+					      int zpos, bool immutable)
 {
 {
-	/* FIXME */
 	if (immutable)
 	if (immutable)
-		drm_plane_create_zpos_immutable_property(plane, 0);
+		drm_plane_create_zpos_immutable_property(plane, zpos);
 	else
 	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,
 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->index = index;
 	exynos_plane->config = config;
 	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));
 			   !(config->capabilities & EXYNOS_DRM_PLANE_CAP_ZPOS));
 
 
 	return 0;
 	return 0;