pipe_ctx->stream_res.stream_enc,
                        pipe_ctx->stream_res.tg->inst);
 
+       if (dc_is_dp_signal(pipe_ctx->stream->signal) &&
+               pipe_ctx->stream_res.stream_enc->funcs->reset_fifo)
+               pipe_ctx->stream_res.stream_enc->funcs->reset_fifo(
+                       pipe_ctx->stream_res.stream_enc);
+
        if (dc_is_dp_signal(pipe_ctx->stream->signal))
                dp_source_sequence_trace(link, DPCD_SOURCE_SEQ_AFTER_CONNECT_DIG_FE_OTG);
 
 
 
 }
 
+void enc1_stream_encoder_reset_fifo(
+       struct stream_encoder *enc)
+{
+       struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);
+
+       /* set DIG_START to 0x1 to reset FIFO */
+       REG_UPDATE(DIG_FE_CNTL, DIG_START, 1);
+       udelay(100);
+
+       /* write 0 to take the FIFO out of reset */
+       REG_UPDATE(DIG_FE_CNTL, DIG_START, 0);
+}
+
 void enc1_stream_encoder_dp_blank(
        struct dc_link *link,
        struct stream_encoder *enc)
                enc1_stream_encoder_send_immediate_sdp_message,
        .stop_dp_info_packets =
                enc1_stream_encoder_stop_dp_info_packets,
+       .reset_fifo =
+               enc1_stream_encoder_reset_fifo,
        .dp_blank =
                enc1_stream_encoder_dp_blank,
        .dp_unblank =
 
 void enc1_stream_encoder_stop_dp_info_packets(
        struct stream_encoder *enc);
 
+void enc1_stream_encoder_reset_fifo(
+       struct stream_encoder *enc);
+
 void enc1_stream_encoder_dp_blank(
        struct dc_link *link,
        struct stream_encoder *enc);
 
                enc1_stream_encoder_send_immediate_sdp_message,
        .stop_dp_info_packets =
                enc1_stream_encoder_stop_dp_info_packets,
+       .reset_fifo =
+               enc1_stream_encoder_reset_fifo,
        .dp_blank =
                enc1_stream_encoder_dp_blank,
        .dp_unblank =
 
                enc3_stream_encoder_update_dp_info_packets,
        .stop_dp_info_packets =
                enc1_stream_encoder_stop_dp_info_packets,
+       .reset_fifo =
+               enc1_stream_encoder_reset_fifo,
        .dp_blank =
                enc1_stream_encoder_dp_blank,
        .dp_unblank =
 
        void (*stop_dp_info_packets)(
                struct stream_encoder *enc);
 
+       void (*reset_fifo)(
+               struct stream_encoder *enc
+       );
+
        void (*dp_blank)(
                struct dc_link *link,
                struct stream_encoder *enc);