Re: [PATCH v2] drm/sun4i: Implement zpos for DE2

From: Maxime Ripard
Date: Thu Jul 12 2018 - 13:06:39 EST


On Fri, Jul 06, 2018 at 06:47:32PM +0200, Jernej Skrabec wrote:
> Initial implementation of DE2 planes only supported fixed zpos.
>
> Expand implementation with configurable zpos property.
>
> Implementation background:
> Channel in DE2 driver represents one DRM plane, whereas pipe is just
> mapped channel to known Z position. Pipe 0 will always be at the bottom,
> pipe 1 just above pipe 0 and so on. If, for example, channel 1 is mapped
> at pipe 0 and channel 0 at pipe 1, whatever is on channel 0 will appear
> on top.
>
> Before this commit, channel id was used for addressing channel related
> registers (prefixed with SUN8I_MIXER_CHAN_UI_ or SUN8I_MIXER_CHAN_VI_)
> and pipe registers (prefixed with SUN8I_MIXER_BLEND_). Additionally,
> register SUN8I_MIXER_BLEND_ROUTE, which takes care for mapping channels
> to pipes had fixed value. It mapped channel 0 to pipe 0, 1 to 1 and so
> on. Consequence of all that was fixed Z order of planes.
>
> With this commit, pipe registers are using zpos property as index and
> channel related registers still use channel id as index. Pipe mapping
> register is now set dynamically too and pipe enable register is rebuild
> every time to make sure only active pipes are enabled.
>
> Testing was done to confirm that there is no issues if bottom plane
> contains pixels with alpha value < 0xff and if it doesn't whole screen.
>
> Tested-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>
> Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx>

Applied, thanks!
Maxime

--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

Attachment: signature.asc
Description: PGP signature