]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/sun4i: Set blending mode for all channels (DE2)
authorJernej Skrabec <jernej.skrabec@siol.net>
Fri, 1 Dec 2017 06:05:30 +0000 (07:05 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 5 Dec 2017 12:22:42 +0000 (13:22 +0100)
BSP driver always sets blend mode for all channels, no matter if they
are really used or not. Do the same here.

The exact meaning of the value is not exactly known, but BSP driver
mentions "SRC OVER" and by digging through code some more info can be
found.

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-8-jernej.skrabec@siol.net
drivers/gpu/drm/sun4i/sun8i_mixer.c

index 5144e6d0ac56eda9b08a6869c2fd972a05ebb2f1..23659ce1cf27d33117ad3c1dde662218e0e1df22 100644 (file)
@@ -239,6 +239,7 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
        struct sun8i_mixer *mixer;
        struct resource *res;
        void __iomem *regs;
+       int plane_cnt;
        int i, ret;
 
        /*
@@ -324,8 +325,6 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
        /* Initialize blender */
        regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_FCOLOR_CTL,
                     SUN8I_MIXER_BLEND_FCOLOR_CTL_DEF);
-       regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_MODE(0),
-                    SUN8I_MIXER_BLEND_MODE_DEF);
 
        regmap_write(mixer->engine.regs,
                     SUN8I_MIXER_BLEND_ATTR_FCOLOR(0),
@@ -337,6 +336,11 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
        regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_ROUTE,
                     mixer->cfg->vi_num);
 
+       plane_cnt = mixer->cfg->vi_num + mixer->cfg->ui_num;
+       for (i = 0; i < plane_cnt; i++)
+               regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_MODE(i),
+                            SUN8I_MIXER_BLEND_MODE_DEF);
+
        return 0;
 
 err_disable_bus_clk: