drm/vc4: crtc: Add some logging
authorMaxime Ripard <maxime@cerno.tech>
Mon, 21 Jun 2021 14:13:02 +0000 (16:13 +0200)
committerPhil Elwell <8911409+pelwell@users.noreply.github.com>
Wed, 23 Jun 2021 12:25:10 +0000 (13:25 +0100)
The encoder retrieval code has been a source of bugs and glitches in the
past and the crtc <-> encoder association been wrong in a number of
different ways.

Add some logging to quickly spot issues if they occur.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/gpu/drm/vc4/vc4_crtc.c

index 44249f8..651b1d6 100644 (file)
@@ -525,6 +525,9 @@ static void vc4_crtc_atomic_disable(struct drm_crtc *crtc,
        struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, old_state);
        struct drm_device *dev = crtc->dev;
 
+       drm_dbg(dev, "Disabling CRTC %s (%u) connected to Encoder %s (%u)",
+               crtc->name, crtc->base.id, encoder->name, encoder->base.id);
+
        require_hvs_enabled(dev);
 
        /* Disable vblank irq handling before crtc is disabled. */
@@ -556,6 +559,9 @@ static void vc4_crtc_atomic_enable(struct drm_crtc *crtc,
        struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, new_state);
        struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder);
 
+       drm_dbg(dev, "Enabling CRTC %s (%u) connected to Encoder %s (%u)",
+               crtc->name, crtc->base.id, encoder->name, encoder->base.id);
+
        require_hvs_enabled(dev);
 
        /* Enable vblank irq handling before crtc is started otherwise