REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_ENABLE, 0);
 }
 
+static bool enc314_is_fifo_enabled(struct stream_encoder *enc)
+{
+       struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);
+       uint32_t reset_val;
+
+       REG_GET(DIG_FIFO_CTRL0, DIG_FIFO_ENABLE, &reset_val);
+       return (reset_val != 0);
+}
+
 void enc314_dp_set_odm_combine(
        struct stream_encoder *enc,
        bool odm_combine)
 
        .enable_fifo = enc314_enable_fifo,
        .disable_fifo = enc314_disable_fifo,
+       .is_fifo_enabled = enc314_is_fifo_enabled,
        .set_input_mode = enc314_set_dig_input_mode,
 };
 
 
        }
 }
 
+static bool dcn314_is_pipe_dig_fifo_on(struct pipe_ctx *pipe)
+{
+       return pipe && pipe->stream
+               // Check dig's otg instance.
+               && pipe->stream_res.stream_enc
+               && pipe->stream_res.stream_enc->funcs->dig_source_otg
+               && pipe->stream_res.tg->inst == pipe->stream_res.stream_enc->funcs->dig_source_otg(pipe->stream_res.stream_enc)
+               && pipe->stream->link && pipe->stream->link->link_enc
+               && pipe->stream->link->link_enc->funcs->is_dig_enabled
+               && pipe->stream->link->link_enc->funcs->is_dig_enabled(pipe->stream->link->link_enc)
+               && pipe->stream_res.stream_enc->funcs->is_fifo_enabled
+               && pipe->stream_res.stream_enc->funcs->is_fifo_enabled(pipe->stream_res.stream_enc);
+}
+
 void dcn314_resync_fifo_dccg_dio(struct dce_hwseq *hws, struct dc *dc, struct dc_state *context, unsigned int current_pipe_idx)
 {
        unsigned int i;
                if (pipe->stream && (pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal)) &&
                        !pipe->stream->apply_seamless_boot_optimization &&
                        !pipe->stream->apply_edp_fast_boot_optimization) {
+                       if (dcn314_is_pipe_dig_fifo_on(pipe))
+                               continue;
                        pipe->stream_res.tg->funcs->disable_crtc(pipe->stream_res.tg);
                        reset_sync_context_for_pipe(dc, context, i);
                        otg_disabled[i] = true;