drm/amd/display: Use correct pixel clock to program DTBCLK DTO's
authorDillon Varone <Dillon.Varone@amd.com>
Wed, 28 Sep 2022 20:33:47 +0000 (16:33 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 Oct 2022 21:17:36 +0000 (17:17 -0400)
[Why?]
Currently phy_pix_clk is used to program DTO's which is incorrect.

[How?]
Use the timing pixel clock to program DTO's correctly.

Reviewed-by: Martin Leung <Martin.Leung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Dillon Varone <Dillon.Varone@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/link/link_hwss_hpo_dp.c

index 7d31471..153a883 100644 (file)
@@ -111,7 +111,7 @@ static void setup_hpo_dp_stream_encoder(struct pipe_ctx *pipe_ctx)
        enum phyd32clk_clock_source phyd32clk = get_phyd32clk_src(pipe_ctx->stream->link);
 
        dto_params.otg_inst = tg->inst;
-       dto_params.pixclk_khz = pipe_ctx->stream->phy_pix_clk;
+       dto_params.pixclk_khz = pipe_ctx->stream->timing.pix_clk_100hz / 10;
        dto_params.num_odm_segments = get_odm_segment_count(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);