unsigned long lock_flags;
        struct dpu_hw_intf_cfg intf_cfg = { 0 };
 
+       drm_mode_init(&mode, &phys_enc->cached_mode);
+
        if (!phys_enc->hw_ctl->ops.setup_intf_cfg) {
                DPU_ERROR("invalid encoder %d\n", phys_enc != NULL);
                return;
        }
 
-       mode = phys_enc->cached_mode;
        if (!phys_enc->hw_intf->ops.setup_timing_gen) {
                DPU_ERROR("timing engine setup is not supported\n");
                return;
 {
        struct intf_status s = {0};
        u32 fetch_start = 0;
-       struct drm_display_mode mode = phys_enc->cached_mode;
+       struct drm_display_mode mode;
+
+       drm_mode_init(&mode, &phys_enc->cached_mode);
 
        if (!dpu_encoder_phys_vid_is_master(phys_enc))
                return -EINVAL;