drm/vc4: kms: Warn if we have an incompatible muxing setup
authorMaxime Ripard <maxime@cerno.tech>
Mon, 28 Mar 2022 15:36:58 +0000 (17:36 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Fri, 8 Apr 2022 11:38:06 +0000 (13:38 +0200)
The documentation explicitly states we must prevent the output
2 and 3 from feeding from the same HVS channel.

Let's add a warning to make some noise if we ever find ourselves in such
a case.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20220328153659.2382206-6-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_kms.c

index 0c6a519..ffd54aa 100644 (file)
@@ -290,6 +290,10 @@ static void vc5_hvs_pv_muxing_commit(struct vc4_dev *vc4,
 
                switch (vc4_crtc->data->hvs_output) {
                case 2:
+                       drm_WARN_ON(&vc4->base,
+                                   VC4_GET_FIELD(HVS_READ(SCALER_DISPCTRL),
+                                                 SCALER_DISPCTRL_DSP3_MUX) == channel);
+
                        mux = (channel == 2) ? 0 : 1;
                        reg = HVS_READ(SCALER_DISPECTRL);
                        HVS_WRITE(SCALER_DISPECTRL,