Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/display: Update dml ssb from pmfw clock table

[why]
Need to use real clock table

[How]
Update the clock table

Reviewed-by: Charlene Liu <charlene.liu@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Muhammad Ahmed <ahmed.ahmed@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Muhammad Ahmed and committed by
Alex Deucher
c7c19779 72f7d6d3

+2 -26
+2 -2
drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.c
··· 698 698 .underflow_assert_delay_us = 0xFFFFFFFF, 699 699 .dwb_fi_phase = -1, // -1 = disable, 700 700 .dmub_command_table = true, 701 - .pstate_enabled = false, 701 + .pstate_enabled = true, 702 702 .use_max_lb = true, 703 703 .enable_mem_low_power = { 704 704 .bits = { ··· 1840 1840 1841 1841 /* Use pipe context based otg sync logic */ 1842 1842 dc->config.use_pipe_ctx_sync_logic = true; 1843 - dc->config.use_default_clock_table = true; 1843 + dc->config.use_default_clock_table = false; 1844 1844 /* read VBIOS LTTPR caps */ 1845 1845 { 1846 1846 if (ctx->dc_bios->funcs->get_lttpr_caps) {
-22
drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c
··· 205 205 //TODO 206 206 } 207 207 208 - void dcn35_patch_dpm_table(struct clk_bw_params *bw_params) 209 - { 210 - int i; 211 - unsigned int max_dcfclk_mhz = 0, max_dispclk_mhz = 0, max_dppclk_mhz = 0, 212 - max_phyclk_mhz = 0, max_dtbclk_mhz = 0, max_fclk_mhz = 0, max_uclk_mhz = 0; 213 208 214 - for (i = 0; i < MAX_NUM_DPM_LVL; i++) { 215 - if (bw_params->clk_table.entries[i].dcfclk_mhz > max_dcfclk_mhz) 216 - max_dcfclk_mhz = bw_params->clk_table.entries[i].dcfclk_mhz; 217 - if (bw_params->clk_table.entries[i].fclk_mhz > max_fclk_mhz) 218 - max_fclk_mhz = bw_params->clk_table.entries[i].fclk_mhz; 219 - if (bw_params->clk_table.entries[i].memclk_mhz > max_uclk_mhz) 220 - max_uclk_mhz = bw_params->clk_table.entries[i].memclk_mhz; 221 - if (bw_params->clk_table.entries[i].dispclk_mhz > max_dispclk_mhz) 222 - max_dispclk_mhz = bw_params->clk_table.entries[i].dispclk_mhz; 223 - if (bw_params->clk_table.entries[i].dppclk_mhz > max_dppclk_mhz) 224 - max_dppclk_mhz = bw_params->clk_table.entries[i].dppclk_mhz; 225 - if (bw_params->clk_table.entries[i].phyclk_mhz > max_phyclk_mhz) 226 - max_phyclk_mhz = bw_params->clk_table.entries[i].phyclk_mhz; 227 - if (bw_params->clk_table.entries[i].dtbclk_mhz > max_dtbclk_mhz) 228 - max_dtbclk_mhz = bw_params->clk_table.entries[i].dtbclk_mhz; 229 - } 230 - } 231 209 /* 232 210 * dcn35_update_bw_bounding_box 233 211 *
-2
drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.h
··· 34 34 void dcn35_update_bw_bounding_box_fpu(struct dc *dc, 35 35 struct clk_bw_params *bw_params); 36 36 37 - void dcn35_patch_dpm_table(struct clk_bw_params *bw_params); 38 - 39 37 int dcn35_populate_dml_pipes_from_context_fpu(struct dc *dc, 40 38 struct dc_state *context, 41 39 display_e2e_pipe_params_st *pipes,