Commit 8cd61c31 authored by Roman Li's avatar Roman Li Committed by Alex Deucher

drm/amd/display: Raise dispclk value for Polaris

[Why]
The visual corruption due to low display clock value observed on some
systems

[How]
There was earlier patch for dspclk:
'drm/amd/display: Raise dispclk value for dce_update_clocks'
Adding +15% workaround also to to dce112_update_clocks
Signed-off-by: default avatarRoman Li <Roman.Li@amd.com>
Reviewed-by: default avatarLeo Li <Sunpeng.Li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 77acd1cd
...@@ -676,6 +676,11 @@ static void dce112_update_clocks(struct clk_mgr *clk_mgr, ...@@ -676,6 +676,11 @@ static void dce112_update_clocks(struct clk_mgr *clk_mgr,
{ {
struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr); struct dce_clk_mgr *clk_mgr_dce = TO_DCE_CLK_MGR(clk_mgr);
struct dm_pp_power_level_change_request level_change_req; struct dm_pp_power_level_change_request level_change_req;
int unpatched_disp_clk = context->bw.dce.dispclk_khz;
/*TODO: W/A for dal3 linux, investigate why this works */
if (!clk_mgr_dce->dfs_bypass_active)
context->bw.dce.dispclk_khz = context->bw.dce.dispclk_khz * 115 / 100;
level_change_req.power_level = dce_get_required_clocks_state(clk_mgr, context); level_change_req.power_level = dce_get_required_clocks_state(clk_mgr, context);
/* get max clock state from PPLIB */ /* get max clock state from PPLIB */
...@@ -690,6 +695,8 @@ static void dce112_update_clocks(struct clk_mgr *clk_mgr, ...@@ -690,6 +695,8 @@ static void dce112_update_clocks(struct clk_mgr *clk_mgr,
clk_mgr->clks.dispclk_khz = context->bw.dce.dispclk_khz; clk_mgr->clks.dispclk_khz = context->bw.dce.dispclk_khz;
} }
dce11_pplib_apply_display_requirements(clk_mgr->ctx->dc, context); dce11_pplib_apply_display_requirements(clk_mgr->ctx->dc, context);
context->bw.dce.dispclk_khz = unpatched_disp_clk;
} }
static void dce12_update_clocks(struct clk_mgr *clk_mgr, static void dce12_update_clocks(struct clk_mgr *clk_mgr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment