Jernej Skrabec
54c33a4fcf
drm/sun4i: Nuke mixer pointer from layer code
...
It's not used anymore, so remove it. This allows trully independent
layer state from mixer.
Reviewed-by: Chen-Yu Tsai <wens@kernel.org >
Tested-by: Ryan Walklin <ryan@testtoast.com >
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://patch.msgid.link/20251104180942.61538-31-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org >
2025-11-12 17:18:25 +08:00
Jernej Skrabec
bb1d2ddee5
drm/sun4i: layer: replace mixer with layer struct
...
This allows to almost completely decouple layer code from mixer. This is
important for DE33.
Reviewed-by: Chen-Yu Tsai <wens@kernel.org >
Tested-by: Ryan Walklin <ryan@testtoast.com >
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://patch.msgid.link/20251104180942.61538-29-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org >
2025-11-12 17:18:25 +08:00
Jernej Skrabec
515441734c
drm/sun4i: layers: add physical index arg
...
This avoids plane mapping in layers code, which allows future
refactoring, when layer code will move away from accessing mixer
structure.
Reviewed-by: Chen-Yu Tsai <wens@kernel.org >
Tested-by: Ryan Walklin <ryan@testtoast.com >
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://patch.msgid.link/20251104180942.61538-23-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org >
2025-11-12 17:18:23 +08:00
Jernej Skrabec
37aba59f5f
drm/sun4i: layers: Make regmap for layers configurable
...
Till DE33, there were no reason to decouple registers from mixer.
However, with future new plane driver, this will be necessary.
Reviewed-by: Chen-Yu Tsai <wens@kernel.org >
Tested-by: Ryan Walklin <ryan@testtoast.com >
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://patch.msgid.link/20251104180942.61538-21-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org >
2025-11-12 17:18:23 +08:00
Jernej Skrabec
4fa45b04a4
drm/sun4i: layer: move num of planes calc out of layer code
...
With DE33, number of planes no longer depends on mixer because layers
are shared between all mixers.
Get this value via parameter, so DE specific code can fill in proper
value.
Reviewed-by: Chen-Yu Tsai <wens@kernel.org >
Tested-by: Ryan Walklin <ryan@testtoast.com >
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://patch.msgid.link/20251104180942.61538-16-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org >
2025-11-12 17:18:22 +08:00
Jernej Skrabec
feea4205ef
drm/sun4i: de2/de3: Move plane type determination to mixer
...
Plane type determination logic inside layer init functions doesn't allow
index register to be repurposed to plane sequence, which it almost is.
So move out the logic to mixer, which allows further rework for DE33
support.
Reviewed-by: Chen-Yu Tsai <wens@kernel.org >
Tested-by: Ryan Walklin <ryan@testtoast.com >
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://patch.msgid.link/20251104180942.61538-14-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org >
2025-11-12 17:18:22 +08:00
Ondrej Jirman
134155a50c
drm/sun4i: Unify sun8i_*_layer structs
...
These structs are identical, use a single struct to represent private
data for the DRM plane. This is a preparation for configuring layer
routing from the CRTC (mixer) instead of current approach of setting
up routing from individual layer's atomic_update callback.
Signed-off-by: Ondrej Jirman <megi@xff.cz >
Reviewed-by: Maxime Ripard <mripard@kernel.org >
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Link: https://lore.kernel.org/r/20240224150604.3855534-2-megi@xff.cz
Signed-off-by: Maxime Ripard <mripard@kernel.org >
2024-06-10 12:44:40 +02:00
Roman Stratiienko
0ee29373f0
drm/sun4i: Add alpha property for sun8i UI layer
...
DE2.0 and DE3.0 UI layers supports plane-global alpha channel.
Add alpha property to the DRM plane and connect it to the
corresponding registers in mixer.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net >
Signed-off-by: Maxime Ripard <maxime@cerno.tech >
Link: https://patchwork.freedesktop.org/patch/msgid/20210128113940.347013-2-r.stratiienko@gmail.com
2021-02-10 11:06:30 +01:00
Thomas Gleixner
2874c5fd28
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
...
Based on 1 normalized pattern(s):
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license as published by
the free software foundation either version 2 of the license or at
your option any later version
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-or-later
has been chosen to replace the boilerplate/reference in 3029 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Allison Randal <allison@lohutok.net >
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-05-30 11:26:32 -07:00
Jernej Skrabec
4b09c07383
drm/sun4i: Rework DE2 register defines
...
Most, if not all, registers found in DE2 still exists in DE3. However,
units are on different base addresses.
To prepare for addition of DE3 support, registers macros are reworked so
they take base address as parameter.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net >
[rebased]
Signed-off-by: Icenowy Zheng <icenowy@aosc.io >
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20181104182705.18047-10-jernej.skrabec@siol.net
2018-11-05 10:34:43 +01:00
Jernej Skrabec
5bb5f5dafa
drm/sun4i: Reorganize UI layer code in DE2
...
Till now, DE2 driver supported only UI planes. Before we add support for
VI planes, lets split out UI layer specific code from common parts. This
commit does the following:
- renames sun8i_layer.c to sun8i_ui_layer.c
- moves UI channel specific code to sun8i_ui_layer.c
- moves common code from sun8i_layer.c to sun8i_mixer.c
- renames function and structure names so it is apparent where they
belong to
No functional change is made.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20171201060550.10392-19-jernej.skrabec@siol.net
2017-12-05 13:22:43 +01:00