58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
Date: Sun, 19 Jul 2020 11:28:49 +0200
|
|
Subject: [PATCH] drm/sun4i: Don't use update regmap variant for blend pipe
|
|
register
|
|
|
|
Readout might return invalid value, so always write it.
|
|
|
|
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
---
|
|
drivers/gpu/drm/sun4i/sun8i_mixer.c | 19 ++++++++-----------
|
|
1 file changed, 8 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
|
|
index cb9f6e8044fc..3f2e56bc817d 100644
|
|
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
|
|
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
|
|
@@ -282,8 +282,14 @@ static void sun8i_mixer_commit(struct sunxi_engine *engine)
|
|
}
|
|
}
|
|
|
|
- regmap_update_bits(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL(base),
|
|
- SUN8I_MIXER_BLEND_PIPE_CTL_EN_MSK, pipe_ctl);
|
|
+ /*
|
|
+ * Set fill color of bottom plane to black. Generally not needed
|
|
+ * except when VI plane is at bottom (zpos = 0) and enabled.
|
|
+ */
|
|
+ pipe_ctl |= SUN8I_MIXER_BLEND_PIPE_CTL_FC_EN(0);
|
|
+
|
|
+ regmap_write(mixer->engine.regs,
|
|
+ SUN8I_MIXER_BLEND_PIPE_CTL(base), pipe_ctl);
|
|
|
|
regmap_write(mixer->engine.regs,
|
|
SUN8I_MIXER_BLEND_ROUTE(base), route);
|
|
@@ -516,12 +522,6 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
|
|
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_BKCOLOR(base),
|
|
SUN8I_MIXER_BLEND_COLOR_BLACK);
|
|
|
|
- /*
|
|
- * Set fill color of bottom plane to black. Generally not needed
|
|
- * except when VI plane is at bottom (zpos = 0) and enabled.
|
|
- */
|
|
- regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL(base),
|
|
- SUN8I_MIXER_BLEND_PIPE_CTL_FC_EN(0));
|
|
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_ATTR_FCOLOR(base, 0),
|
|
SUN8I_MIXER_BLEND_COLOR_BLACK);
|
|
|
|
@@ -533,9 +533,6 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
|
|
mixer->channel_zpos[i] = -1;
|
|
}
|
|
|
|
- regmap_update_bits(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL(base),
|
|
- SUN8I_MIXER_BLEND_PIPE_CTL_EN_MSK, 0);
|
|
-
|
|
return 0;
|
|
|
|
err_disable_bus_clk:
|