drm/vc4: hdmi: Move XBAR setup to csc_setup
authorMaxime Ripard <maxime@cerno.tech>
Thu, 20 Jan 2022 15:16:16 +0000 (16:16 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Tue, 25 Jan 2022 09:02:41 +0000 (10:02 +0100)
On the BCM2711, the HDMI_VEC_INTERFACE_XBAR register configuration
depends on whether we're using an RGB or YUV output. Let's move that
configuration to the CSC setup.

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20220120151625.594595-8-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_hdmi.c

index 47ff450..0f8b1e9 100644 (file)
@@ -785,6 +785,8 @@ static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi,
 
        spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
 
+       HDMI_WRITE(HDMI_VEC_INTERFACE_XBAR, 0x354021);
+
        if (!vc4_hdmi_is_full_range_rgb(vc4_hdmi, mode)) {
                /* CEA VICs other than #1 requre limited range RGB
                 * output unless overridden by an AVI infoframe.
@@ -899,7 +901,6 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi,
 
        spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
 
-       HDMI_WRITE(HDMI_VEC_INTERFACE_XBAR, 0x354021);
        HDMI_WRITE(HDMI_HORZA,
                   (vsync_pos ? VC5_HDMI_HORZA_VPOS : 0) |
                   (hsync_pos ? VC5_HDMI_HORZA_HPOS : 0) |