drm/vc4: Don't try disabling SCDC on Pi0-3.
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Tue, 16 Nov 2021 10:34:34 +0000 (10:34 +0000)
committerPhil Elwell <8911409+pelwell@users.noreply.github.com>
Tue, 16 Nov 2021 11:34:47 +0000 (11:34 +0000)
The code that set the scdc_enabled flag to ensure it was
disabled at boot time also ran on Pi0-3 where there is no
SCDC support. This lead to a warning in vc4_hdmi_encoder_post_crtc_disable
due to vc4_hdmi_disable_scrambling being called and trying to
read (and write) register HDMI_SCRAMBLER_CTL which doesn't
exist on those platforms.

Only set the flag should the interface be configured to support
more than HDMI 1.4.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/gpu/drm/vc4/vc4_hdmi.c

index 245fa88..d121aca 100644 (file)
@@ -2608,7 +2608,8 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
         * vc4_hdmi_disable_scrambling() will thus run at boot, make
         * sure it's disabled, and avoid any inconsistency.
         */
-       vc4_hdmi->scdc_enabled = true;
+       if (variant->max_pixel_clock > HDMI_14_MAX_TMDS_CLK)
+               vc4_hdmi->scdc_enabled = true;
 
        ret = variant->init_resources(vc4_hdmi);
        if (ret)