drm/amd/display: fix dp stream enable
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Wed, 31 Jul 2019 18:08:45 +0000 (14:08 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 23 Aug 2019 16:37:31 +0000 (11:37 -0500)
A previous odm change broke stream enable by always setting
n_multiply as if odm was on.

This fixes the check for odm by making sure opp count is >1
rather than not 0.

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_stream_encoder.c

index 56e69a3..32ddda8 100644 (file)
@@ -1581,10 +1581,10 @@ void dcn20_unblank_stream(struct pipe_ctx *pipe_ctx,
        params.link_settings.link_rate = link_settings->link_rate;
 
        if (dc_is_dp_signal(pipe_ctx->stream->signal)) {
-               if (optc1_is_two_pixels_per_containter(&stream->timing) || params.opp_cnt)
+               if (optc1_is_two_pixels_per_containter(&stream->timing) || params.opp_cnt > 1)
                        params.timing.pix_clk_100hz /= 2;
                pipe_ctx->stream_res.stream_enc->funcs->dp_set_odm_combine(
-                               pipe_ctx->stream_res.stream_enc, params.opp_cnt);
+                               pipe_ctx->stream_res.stream_enc, params.opp_cnt > 1);
                pipe_ctx->stream_res.stream_enc->funcs->dp_unblank(pipe_ctx->stream_res.stream_enc, &params);
        }
 
index e24107e..5ab9d62 100644 (file)
@@ -460,7 +460,7 @@ void enc2_stream_encoder_dp_unblank(
                uint64_t m_vid_l = n_vid;
 
                /* YCbCr 4:2:0 : Computed VID_M will be 2X the input rate */
-               if (is_two_pixels_per_containter(&param->timing) || param->opp_cnt) {
+               if (is_two_pixels_per_containter(&param->timing) || param->opp_cnt > 1) {
                        /*this logic should be the same in get_pixel_clock_parameters() */
                        n_multiply = 1;
                }