diff options
author | Ondrej Jirman <megi@xff.cz> | 2024-02-24 16:06:00 +0100 |
---|---|---|
committer | Maxime Ripard <mripard@kernel.org> | 2024-06-10 12:44:41 +0200 |
commit | f8d59fac575a624d1d4bd24424b3ec2bf5c4202a (patch) | |
tree | a9d96a8ea79beda8e36d1b116c4391a36292424f /tools/perf/scripts/python/parallel-perf.py | |
parent | aa0b4a69b6da861d1cb645a1a5df4a3fa8b9c86d (diff) |
drm/sun4i: Fix layer zpos change/atomic modesetting
Identical configurations of planes can lead to different (and wrong)
layer -> pipe routing at HW level, depending on the order of atomic
plane changes.
For example:
- Layer 1 is configured to zpos 0 and thus uses pipe 0. No other layer
is enabled. This is a typical situation at boot.
- When a compositor takes over and layer 3 is enabled,
sun8i_ui_layer_enable() will get called with old_zpos=0 zpos=1, which
will lead to incorrect disabling of pipe 0 and enabling of pipe 1.
What happens is that sun8i_ui_layer_enable() function may disable
blender pipes even if it is no longer assigned to its layer.
To correct this, move the routing setup out of individual plane's
atomic_update into crtc's atomic_update, where it can be calculated
and updated all at once.
Remove the atomic_disable callback because it is no longer needed.
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20240224150604.3855534-4-megi@xff.cz
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/parallel-perf.py')
0 files changed, 0 insertions, 0 deletions