Skip to content

Commit fb01ab5

Browse files
Fangzhi Zuoalexdeucher
authored andcommitted
drm/amd/display: Populate dtbclk from bounding box
dtbclk is unavaliable from pmfw. Try to grab the value from bounding box Reviewed-by: Charlene Liu <[email protected]> Acked-by: Aurabindo Pillai <[email protected]> Signed-off-by: Fangzhi Zuo <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent a409c05 commit fb01ab5

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
124124
.phyclk_mhz = 600.0,
125125
.phyclk_d18_mhz = 667.0,
126126
.dscclk_mhz = 186.0,
127-
.dtbclk_mhz = 625.0,
127+
.dtbclk_mhz = 600.0,
128128
},
129129
{
130130
.state = 1,
@@ -133,7 +133,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
133133
.phyclk_mhz = 810.0,
134134
.phyclk_d18_mhz = 667.0,
135135
.dscclk_mhz = 209.0,
136-
.dtbclk_mhz = 625.0,
136+
.dtbclk_mhz = 600.0,
137137
},
138138
{
139139
.state = 2,
@@ -142,7 +142,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
142142
.phyclk_mhz = 810.0,
143143
.phyclk_d18_mhz = 667.0,
144144
.dscclk_mhz = 209.0,
145-
.dtbclk_mhz = 625.0,
145+
.dtbclk_mhz = 600.0,
146146
},
147147
{
148148
.state = 3,
@@ -151,7 +151,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
151151
.phyclk_mhz = 810.0,
152152
.phyclk_d18_mhz = 667.0,
153153
.dscclk_mhz = 371.0,
154-
.dtbclk_mhz = 625.0,
154+
.dtbclk_mhz = 600.0,
155155
},
156156
{
157157
.state = 4,
@@ -160,7 +160,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
160160
.phyclk_mhz = 810.0,
161161
.phyclk_d18_mhz = 667.0,
162162
.dscclk_mhz = 417.0,
163-
.dtbclk_mhz = 625.0,
163+
.dtbclk_mhz = 600.0,
164164
},
165165
},
166166
.num_states = 5,
@@ -348,6 +348,8 @@ void dcn35_update_bw_bounding_box_fpu(struct dc *dc,
348348
clock_limits[i].socclk_mhz;
349349
dc->dml2_options.bbox_overrides.clks_table.clk_entries[i].memclk_mhz =
350350
clk_table->entries[i].memclk_mhz * clk_table->entries[i].wck_ratio;
351+
dc->dml2_options.bbox_overrides.clks_table.clk_entries[i].dtbclk_mhz =
352+
clock_limits[i].dtbclk_mhz;
351353
dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_dcfclk_levels =
352354
clk_table->num_entries;
353355
dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_fclk_levels =
@@ -360,6 +362,8 @@ void dcn35_update_bw_bounding_box_fpu(struct dc *dc,
360362
clk_table->num_entries;
361363
dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_memclk_levels =
362364
clk_table->num_entries;
365+
dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_dtbclk_levels =
366+
clk_table->num_entries;
363367
}
364368
}
365369

drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,9 @@ void dml2_init_soc_states(struct dml2_context *dml2, const struct dc *in_dc,
423423
}
424424

425425
for (i = 0; i < dml2->config.bbox_overrides.clks_table.num_entries_per_clk.num_dtbclk_levels; i++) {
426-
p->in_states->state_array[i].dtbclk_mhz =
427-
dml2->config.bbox_overrides.clks_table.clk_entries[i].dtbclk_mhz;
426+
if (dml2->config.bbox_overrides.clks_table.clk_entries[i].dtbclk_mhz > 0)
427+
p->in_states->state_array[i].dtbclk_mhz =
428+
dml2->config.bbox_overrides.clks_table.clk_entries[i].dtbclk_mhz;
428429
}
429430

430431
for (i = 0; i < dml2->config.bbox_overrides.clks_table.num_entries_per_clk.num_dispclk_levels; i++) {

0 commit comments

Comments
 (0)