提交 4aa9d658 编写于 作者: J Jake Wang 提交者: Alex Deucher

drm/amd/display: always program DPPDTO unless not safe to lower

[Why]
We defer clock updates to after pipes have been programmed. In
some instances we use DPPCLK that have been previously set to be
"unused". This results in a brief window of time where underflow
could occur.

[How]
During prepare bandwidth allow rn_update_clocks_update_dpp_dto
to check each instance and compare previous clock to new clock.
If new clock is higher than previous clock, program DPPDTO.
Signed-off-by: NJake Wang <haonan.wang2@amd.com>
Acked-by: NBindu Ramamurthy <bindu.r@amd.com>
Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
上级 c277925c
...@@ -227,12 +227,11 @@ void rn_update_clocks(struct clk_mgr *clk_mgr_base, ...@@ -227,12 +227,11 @@ void rn_update_clocks(struct clk_mgr *clk_mgr_base,
rn_vbios_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz); rn_vbios_smu_set_dppclk(clk_mgr, clk_mgr_base->clks.dppclk_khz);
// always update dtos unless clock is lowered and not safe to lower // always update dtos unless clock is lowered and not safe to lower
if (new_clocks->dppclk_khz >= dc->current_state->bw_ctx.bw.dcn.clk.dppclk_khz) rn_update_clocks_update_dpp_dto(
rn_update_clocks_update_dpp_dto( clk_mgr,
clk_mgr, context,
context, clk_mgr_base->clks.actual_dppclk_khz,
clk_mgr_base->clks.actual_dppclk_khz, safe_to_lower);
safe_to_lower);
} }
if (update_dispclk && if (update_dispclk &&
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册