drm/bridge/synopsys: dw-hdmi: Enable workaround for v1.32a
authorJernej Skrabec <jernej.skrabec@siol.net>
Wed, 14 Feb 2018 20:08:57 +0000 (21:08 +0100)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Fri, 16 Feb 2018 08:32:03 +0000 (09:32 +0100)
Allwinner SoCs have dw hdmi controller v1.32a which exhibits same
magenta line issue as i.MX6Q and i.MX6DL. Enable workaround for it.

Tests show that one iteration is enough.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180214200906.31509-4-jernej.skrabec@siol.net
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c

index a38db40ce990de2c572fd0b0c2aca42d8273611c..7ca14d7325b514b772bdee887d0bdcc0af4724be 100644 (file)
@@ -1634,9 +1634,10 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi)
         * then write one of the FC registers several times.
         *
         * The number of iterations matters and depends on the HDMI TX revision
-        * (and possibly on the platform). So far only i.MX6Q (v1.30a) and
-        * i.MX6DL (v1.31a) have been identified as needing the workaround, with
-        * 4 and 1 iterations respectively.
+        * (and possibly on the platform). So far i.MX6Q (v1.30a), i.MX6DL
+        * (v1.31a) 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) {
@@ -1644,6 +1645,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi)
                count = 4;
                break;
        case 0x131a:
+       case 0x132a:
                count = 1;
                break;
        default: