Blob Blame History Raw
From: Dmitry Osipenko <digetx@gmail.com>
Date: Thu, 15 Mar 2018 04:00:24 +0300
Subject: drm/tegra: plane: Correct legacy blending
Git-commit: 48519232bea9230d1c5dbbb680d9257d4861bb4c
Patch-mainline: v4.16-rc7
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166

Keep old 'dependent' state of unaffected planes, this way new state takes
into account current state of unaffected planes.

Fixes: ebae8d07435a ("drm/tegra: dc: Implement legacy blending")
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/gpu/drm/tegra/plane.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/tegra/plane.c
+++ b/drivers/gpu/drm/tegra/plane.c
@@ -334,9 +334,6 @@ void tegra_plane_check_dependent(struct
 	unsigned int zpos[2];
 	unsigned int i;
 
-	for (i = 0; i < 3; i++)
-		state->dependent[i] = false;
-
 	for (i = 0; i < 2; i++)
 		zpos[i] = 0;
 
@@ -350,6 +347,8 @@ void tegra_plane_check_dependent(struct
 
 		index = tegra_plane_get_overlap_index(tegra, p);
 
+		state->dependent[index] = false;
+
 		/*
 		 * If any of the other planes is on top of this plane and uses
 		 * a format with an alpha component, mark this plane as being