build/patch/kernel/sunxi-next/09-dw-hdmi-add-workarounds.patch
Igor Pečovnik a57ce78b37
Reverting sunxi/sunxi64 NEXT to 4.14. (#1087)
* Bump to 4.18, removing the obvious, fixing build problems, put some on waiting.

* Pin 4.18 to DEV, rollback 4.14 to NEXT, adjust configs, remove one deprecated patch from NEXT and add board-h3-address-some-stability-issues.patch

* Adjust few boards in development to new reality, removing it from NEXT for now

* Adjust few board configs

* Board config adjustement

* Adjust few boards configs

* Port NeoCore2 and Neo21.1 to 4.14.y

* Adjust board config

* Adjust board config
2018-08-21 10:41:10 +02:00

40 lines
1.6 KiB
Diff

From 6e06b05d4d0128f3fcc32085f31c2b4add4c0ac7 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sat, 2 Sep 2017 19:41:54 +0200
Subject: [PATCH] drm: bridge: Enable workaround in dw_hdmi for v1.32a
Allwinner SoCs have dw hdmi controller v1.32a which exhibits same
magenta line issue as i.MX6Q and i.MX6DL. Enable workaround for it.
Allwinner never released any kind of dw hdmi or errata documentation,
so it is not clear how many iterations need to be executed. One
iteration seems to be enough.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 09cb5a3e4c718..72969240a9d42 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1645,7 +1645,9 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi)
* i.MX6DL (v1.31a) have been identified as needing the workaround, with
* 4 and 1 iterations respectively.
* The Amlogic Meson GX SoCs (v2.01a) have been identified as needing
- * the workaround with a single iteration.
+ * the workaround with a single iteration. and multiple Allwinner SoCs
+ * (v1.32a) have been identified as needing the workaround, with 4 iterations
+ * for v1.30a and 1 iteration for others.
*/
switch (hdmi->version) {
@@ -1653,6 +1655,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi)
count = 4;
break;
case 0x131a:
+ case 0x132a:
case 0x201a:
count = 1;
break;