]> Git Repo - linux.git/commitdiff
drm/amd/display: Fix MST Multi-Stream Not Lighting Up on dcn35
authorFangzhi Zuo <[email protected]>
Mon, 2 Oct 2023 20:38:02 +0000 (16:38 -0400)
committerAlex Deucher <[email protected]>
Thu, 26 Oct 2023 22:55:46 +0000 (18:55 -0400)
dcn35 misses .enable_symclk_se hook that makes MST DSC
not functional when having multiple FE clk to be enabled.

Reviewed-by: Rodrigo Siqueira <[email protected]>
Acked-by: Roman Li <[email protected]>
Signed-off-by: Fangzhi Zuo <[email protected]>
Tested-by: Daniel Wheeler <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c

index 4d6493e0ccfc62788ac229140c75eb4a2dbb0b51..608221b0dd5dca09d5fbbed2093812840ec28a8b 100644 (file)
@@ -2746,6 +2746,8 @@ void dcn20_enable_stream(struct pipe_ctx *pipe_ctx)
        struct dce_hwseq *hws = dc->hwseq;
        unsigned int k1_div = PIXEL_RATE_DIV_NA;
        unsigned int k2_div = PIXEL_RATE_DIV_NA;
+       struct link_encoder *link_enc = link_enc_cfg_get_link_enc(pipe_ctx->stream->link);
+       struct stream_encoder *stream_enc = pipe_ctx->stream_res.stream_enc;
 
        if (dc->link_srv->dp_is_128b_132b_signal(pipe_ctx)) {
                if (dc->hwseq->funcs.setup_hpo_hw_control)
@@ -2765,6 +2767,10 @@ void dcn20_enable_stream(struct pipe_ctx *pipe_ctx)
                dto_params.timing = &pipe_ctx->stream->timing;
                dto_params.ref_dtbclk_khz = dc->clk_mgr->funcs->get_dtb_ref_clk_frequency(dc->clk_mgr);
                dccg->funcs->set_dtbclk_dto(dccg, &dto_params);
+       } else {
+               if (dccg->funcs->enable_symclk_se)
+                       dccg->funcs->enable_symclk_se(dccg, stream_enc->stream_enc_inst,
+                                                     link_enc->transmitter - TRANSMITTER_UNIPHY_A);
        }
        if (hws->funcs.calculate_dccg_k1_k2_values && dc->res_pool->dccg->funcs->set_pixel_rate_div) {
                hws->funcs.calculate_dccg_k1_k2_values(pipe_ctx, &k1_div, &k2_div);
This page took 0.059133 seconds and 4 git commands to generate.