drm/tegra: plane: Correct legacy blending
authorDmitry Osipenko <digetx@gmail.com>
Thu, 15 Mar 2018 01:00:24 +0000 (04:00 +0300)
committerThierry Reding <treding@nvidia.com>
Thu, 15 Mar 2018 14:56:46 +0000 (15:56 +0100)
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>
drivers/gpu/drm/tegra/plane.c

index eddaa2f05ed6057f5def8ed826d06647e19674c5..94dac79ac3c9641b84aa1af53093e104e0661ca4 100644 (file)
@@ -334,9 +334,6 @@ void tegra_plane_check_dependent(struct tegra_plane *tegra,
        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 tegra_plane *tegra,
 
                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