return &cstate->base;
 }
 
+static void dpu_crtc_atomic_print_state(struct drm_printer *p,
+                                       const struct drm_crtc_state *state)
+{
+       const struct dpu_crtc_state *cstate = to_dpu_crtc_state(state);
+       int i;
+
+       for (i = 0; i < cstate->num_mixers; i++) {
+               drm_printf(p, "\tlm[%d]=%d\n", i, cstate->mixers[i].hw_lm->idx - LM_0);
+               drm_printf(p, "\tctl[%d]=%d\n", i, cstate->mixers[i].lm_ctl->idx - CTL_0);
+               if (cstate->mixers[i].hw_dspp)
+                       drm_printf(p, "\tdspp[%d]=%d\n", i, cstate->mixers[i].hw_dspp->idx - DSPP_0);
+       }
+}
+
 static void dpu_crtc_disable(struct drm_crtc *crtc,
                             struct drm_atomic_state *state)
 {
        .reset = dpu_crtc_reset,
        .atomic_duplicate_state = dpu_crtc_duplicate_state,
        .atomic_destroy_state = dpu_crtc_destroy_state,
+       .atomic_print_state = dpu_crtc_atomic_print_state,
        .late_register = dpu_crtc_late_register,
        .verify_crc_source = dpu_crtc_verify_crc_source,
        .set_crc_source = dpu_crtc_set_crc_source,