Commit 20511605 authored by Duncan Ma's avatar Duncan Ma Committed by Alex Deucher

drm/amd/display: Correct DTBCLK for dcn314

[Why]
DTBCLK clocks reset after clocks are initialized
and bounding box values are also incorrect.

[How]
Use dcn31 init clock function programming sequence
and correct bounding box values for dcn314
Reviewed-by: default avatarNicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Reviewed-by: default avatarJun Lei <Jun.Lei@amd.com>
Acked-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Signed-off-by: default avatarDuncan Ma <duncan.ma@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f173c740
...@@ -307,16 +307,6 @@ static void dcn314_enable_pme_wa(struct clk_mgr *clk_mgr_base) ...@@ -307,16 +307,6 @@ static void dcn314_enable_pme_wa(struct clk_mgr *clk_mgr_base)
dcn314_smu_enable_pme_wa(clk_mgr); dcn314_smu_enable_pme_wa(clk_mgr);
} }
void dcn314_init_clocks(struct clk_mgr *clk_mgr)
{
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
// Assumption is that boot state always supports pstate
clk_mgr->clks.p_state_change_support = true;
clk_mgr->clks.prev_p_state_change_support = true;
clk_mgr->clks.pwr_state = DCN_PWR_STATE_UNKNOWN;
clk_mgr->clks.zstate_support = DCN_ZSTATE_SUPPORT_UNKNOWN;
}
bool dcn314_are_clock_states_equal(struct dc_clocks *a, bool dcn314_are_clock_states_equal(struct dc_clocks *a,
struct dc_clocks *b) struct dc_clocks *b)
{ {
...@@ -641,7 +631,7 @@ static struct clk_mgr_funcs dcn314_funcs = { ...@@ -641,7 +631,7 @@ static struct clk_mgr_funcs dcn314_funcs = {
.get_dp_ref_clk_frequency = dce12_get_dp_ref_freq_khz, .get_dp_ref_clk_frequency = dce12_get_dp_ref_freq_khz,
.get_dtb_ref_clk_frequency = dcn31_get_dtb_ref_freq_khz, .get_dtb_ref_clk_frequency = dcn31_get_dtb_ref_freq_khz,
.update_clocks = dcn314_update_clocks, .update_clocks = dcn314_update_clocks,
.init_clocks = dcn314_init_clocks, .init_clocks = dcn31_init_clocks,
.enable_pme_wa = dcn314_enable_pme_wa, .enable_pme_wa = dcn314_enable_pme_wa,
.are_clock_states_equal = dcn314_are_clock_states_equal, .are_clock_states_equal = dcn314_are_clock_states_equal,
.notify_wm_ranges = dcn314_notify_wm_ranges .notify_wm_ranges = dcn314_notify_wm_ranges
......
...@@ -42,7 +42,7 @@ struct clk_mgr_dcn314 { ...@@ -42,7 +42,7 @@ struct clk_mgr_dcn314 {
bool dcn314_are_clock_states_equal(struct dc_clocks *a, bool dcn314_are_clock_states_equal(struct dc_clocks *a,
struct dc_clocks *b); struct dc_clocks *b);
void dcn314_init_clocks(struct clk_mgr *clk_mgr);
void dcn314_update_clocks(struct clk_mgr *clk_mgr_base, void dcn314_update_clocks(struct clk_mgr *clk_mgr_base,
struct dc_state *context, struct dc_state *context,
bool safe_to_lower); bool safe_to_lower);
......
...@@ -106,7 +106,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = { ...@@ -106,7 +106,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = {
.phyclk_mhz = 600.0, .phyclk_mhz = 600.0,
.phyclk_d18_mhz = 667.0, .phyclk_d18_mhz = 667.0,
.dscclk_mhz = 186.0, .dscclk_mhz = 186.0,
.dtbclk_mhz = 625.0, .dtbclk_mhz = 600.0,
}, },
{ {
.state = 1, .state = 1,
...@@ -115,7 +115,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = { ...@@ -115,7 +115,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = {
.phyclk_mhz = 810.0, .phyclk_mhz = 810.0,
.phyclk_d18_mhz = 667.0, .phyclk_d18_mhz = 667.0,
.dscclk_mhz = 209.0, .dscclk_mhz = 209.0,
.dtbclk_mhz = 625.0, .dtbclk_mhz = 600.0,
}, },
{ {
.state = 2, .state = 2,
...@@ -124,7 +124,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = { ...@@ -124,7 +124,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = {
.phyclk_mhz = 810.0, .phyclk_mhz = 810.0,
.phyclk_d18_mhz = 667.0, .phyclk_d18_mhz = 667.0,
.dscclk_mhz = 209.0, .dscclk_mhz = 209.0,
.dtbclk_mhz = 625.0, .dtbclk_mhz = 600.0,
}, },
{ {
.state = 3, .state = 3,
...@@ -133,7 +133,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = { ...@@ -133,7 +133,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = {
.phyclk_mhz = 810.0, .phyclk_mhz = 810.0,
.phyclk_d18_mhz = 667.0, .phyclk_d18_mhz = 667.0,
.dscclk_mhz = 371.0, .dscclk_mhz = 371.0,
.dtbclk_mhz = 625.0, .dtbclk_mhz = 600.0,
}, },
{ {
.state = 4, .state = 4,
...@@ -142,7 +142,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = { ...@@ -142,7 +142,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = {
.phyclk_mhz = 810.0, .phyclk_mhz = 810.0,
.phyclk_d18_mhz = 667.0, .phyclk_d18_mhz = 667.0,
.dscclk_mhz = 417.0, .dscclk_mhz = 417.0,
.dtbclk_mhz = 625.0, .dtbclk_mhz = 600.0,
}, },
}, },
.num_states = 5, .num_states = 5,
......
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