Thread (52 messages) 52 messages, 8 authors, 2018-10-15
STALE2817d
Revisions (3)
  1. v1 [diff vs current]
  2. v2 current
  3. v3 [diff vs current]

[PATCH v2 12/29] drm/sun4i: Disable unused DE2 sub-engines

From: Jernej Skrabec <hidden>
Date: 2018-10-07 09:41:38
Also in: dri-devel, linux-clk, linux-devicetree, lkml
Subsystem: drm driver for allwinner de2 and de3 engine, drm drivers, drm drivers and misc gpu patches, drm drivers for allwinner a10, the rest · Maintainers: Chen-Yu Tsai, David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Linus Torvalds

Some sub-engines are unused. Disable them explicitly.

Signed-off-by: Jernej Skrabec <redacted>
---
 drivers/gpu/drm/sun4i/sun8i_mixer.c | 8 ++++++++
 drivers/gpu/drm/sun4i/sun8i_mixer.h | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index 7beb3065a522..2cb24d987005 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -462,6 +462,14 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
 	/* Reset the registers */
 	for (i = 0; i < DE2_MIXER_UNIT_SIZE; i += 4)
 		regmap_write(mixer->engine.regs, i, 0);
+	/* Disable unused sub-engines */
+	regmap_write(mixer->engine.regs, DE2_MIXER_FCE_EN, 0);
+	regmap_write(mixer->engine.regs, DE2_MIXER_BWS_EN, 0);
+	regmap_write(mixer->engine.regs, DE2_MIXER_LTI_EN, 0);
+	regmap_write(mixer->engine.regs, DE2_MIXER_PEAK_EN, 0);
+	regmap_write(mixer->engine.regs, DE2_MIXER_ASE_EN, 0);
+	regmap_write(mixer->engine.regs, DE2_MIXER_FCC_EN, 0);
+	regmap_write(mixer->engine.regs, DE2_MIXER_DCSC_EN, 0);
 
 	/* Enable the mixer */
 	regmap_write(mixer->engine.regs, DE2_MIXER_GLOBAL_CTL,
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/sun8i_mixer.h
index e2aa42e8f715..f26ee6af6cba 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.h
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h
@@ -101,8 +101,8 @@
 #define DE2_MIXER_FBFMT_YUV411		14
 
 /*
- * These sub-engines are still unknown now, the EN registers are here only to
- * be used to disable these sub-engines.
+ * Sub-engines listed bellow are unused for now. The EN registers are here only
+ * to be used to disable these sub-engines.
  */
 #define DE2_MIXER_FCE_EN			0xa0000
 #define DE2_MIXER_BWS_EN			0xa2000
-- 
2.19.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help