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

drm/amd/display: Remove unused dcn_find_dcfclk_suits_all

dcn_find_dcfclk_suits_all() last use was removed by 2018's
commit 4fd994c448a3 ("drm/amd/display: Start using the new pp_smu
interface")

Remove it, and the dcn_find_normalized_clock_vdd_Level helper it used.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Dr. David Alan Gilbert and committed by
Alex Deucher
00cace8b 21615ea4

-136
-132
drivers/gpu/drm/amd/display/dc/dml/calcs/dcn_calcs.c
··· 1312 1312 return false; 1313 1313 } 1314 1314 1315 - static unsigned int dcn_find_normalized_clock_vdd_Level( 1316 - const struct dc *dc, 1317 - enum dm_pp_clock_type clocks_type, 1318 - int clocks_in_khz) 1319 - { 1320 - int vdd_level = dcn_bw_v_min0p65; 1321 - 1322 - if (clocks_in_khz == 0)/*todo some clock not in the considerations*/ 1323 - return vdd_level; 1324 - 1325 - switch (clocks_type) { 1326 - case DM_PP_CLOCK_TYPE_DISPLAY_CLK: 1327 - if (clocks_in_khz > dc->dcn_soc->max_dispclk_vmax0p9*1000) { 1328 - vdd_level = dcn_bw_v_max0p91; 1329 - BREAK_TO_DEBUGGER(); 1330 - } else if (clocks_in_khz > dc->dcn_soc->max_dispclk_vnom0p8*1000) { 1331 - vdd_level = dcn_bw_v_max0p9; 1332 - } else if (clocks_in_khz > dc->dcn_soc->max_dispclk_vmid0p72*1000) { 1333 - vdd_level = dcn_bw_v_nom0p8; 1334 - } else if (clocks_in_khz > dc->dcn_soc->max_dispclk_vmin0p65*1000) { 1335 - vdd_level = dcn_bw_v_mid0p72; 1336 - } else 1337 - vdd_level = dcn_bw_v_min0p65; 1338 - break; 1339 - case DM_PP_CLOCK_TYPE_DISPLAYPHYCLK: 1340 - if (clocks_in_khz > dc->dcn_soc->phyclkv_max0p9*1000) { 1341 - vdd_level = dcn_bw_v_max0p91; 1342 - BREAK_TO_DEBUGGER(); 1343 - } else if (clocks_in_khz > dc->dcn_soc->phyclkv_nom0p8*1000) { 1344 - vdd_level = dcn_bw_v_max0p9; 1345 - } else if (clocks_in_khz > dc->dcn_soc->phyclkv_mid0p72*1000) { 1346 - vdd_level = dcn_bw_v_nom0p8; 1347 - } else if (clocks_in_khz > dc->dcn_soc->phyclkv_min0p65*1000) { 1348 - vdd_level = dcn_bw_v_mid0p72; 1349 - } else 1350 - vdd_level = dcn_bw_v_min0p65; 1351 - break; 1352 - 1353 - case DM_PP_CLOCK_TYPE_DPPCLK: 1354 - if (clocks_in_khz > dc->dcn_soc->max_dppclk_vmax0p9*1000) { 1355 - vdd_level = dcn_bw_v_max0p91; 1356 - BREAK_TO_DEBUGGER(); 1357 - } else if (clocks_in_khz > dc->dcn_soc->max_dppclk_vnom0p8*1000) { 1358 - vdd_level = dcn_bw_v_max0p9; 1359 - } else if (clocks_in_khz > dc->dcn_soc->max_dppclk_vmid0p72*1000) { 1360 - vdd_level = dcn_bw_v_nom0p8; 1361 - } else if (clocks_in_khz > dc->dcn_soc->max_dppclk_vmin0p65*1000) { 1362 - vdd_level = dcn_bw_v_mid0p72; 1363 - } else 1364 - vdd_level = dcn_bw_v_min0p65; 1365 - break; 1366 - 1367 - case DM_PP_CLOCK_TYPE_MEMORY_CLK: 1368 - { 1369 - unsigned factor = (ddr4_dram_factor_single_Channel * dc->dcn_soc->number_of_channels); 1370 - 1371 - if (clocks_in_khz > dc->dcn_soc->fabric_and_dram_bandwidth_vmax0p9*1000000/factor) { 1372 - vdd_level = dcn_bw_v_max0p91; 1373 - BREAK_TO_DEBUGGER(); 1374 - } else if (clocks_in_khz > dc->dcn_soc->fabric_and_dram_bandwidth_vnom0p8*1000000/factor) { 1375 - vdd_level = dcn_bw_v_max0p9; 1376 - } else if (clocks_in_khz > dc->dcn_soc->fabric_and_dram_bandwidth_vmid0p72*1000000/factor) { 1377 - vdd_level = dcn_bw_v_nom0p8; 1378 - } else if (clocks_in_khz > dc->dcn_soc->fabric_and_dram_bandwidth_vmin0p65*1000000/factor) { 1379 - vdd_level = dcn_bw_v_mid0p72; 1380 - } else 1381 - vdd_level = dcn_bw_v_min0p65; 1382 - } 1383 - break; 1384 - 1385 - case DM_PP_CLOCK_TYPE_DCFCLK: 1386 - if (clocks_in_khz > dc->dcn_soc->dcfclkv_max0p9*1000) { 1387 - vdd_level = dcn_bw_v_max0p91; 1388 - BREAK_TO_DEBUGGER(); 1389 - } else if (clocks_in_khz > dc->dcn_soc->dcfclkv_nom0p8*1000) { 1390 - vdd_level = dcn_bw_v_max0p9; 1391 - } else if (clocks_in_khz > dc->dcn_soc->dcfclkv_mid0p72*1000) { 1392 - vdd_level = dcn_bw_v_nom0p8; 1393 - } else if (clocks_in_khz > dc->dcn_soc->dcfclkv_min0p65*1000) { 1394 - vdd_level = dcn_bw_v_mid0p72; 1395 - } else 1396 - vdd_level = dcn_bw_v_min0p65; 1397 - break; 1398 - 1399 - default: 1400 - break; 1401 - } 1402 - return vdd_level; 1403 - } 1404 - 1405 - unsigned int dcn_find_dcfclk_suits_all( 1406 - const struct dc *dc, 1407 - struct dc_clocks *clocks) 1408 - { 1409 - unsigned vdd_level, vdd_level_temp; 1410 - unsigned dcf_clk; 1411 - 1412 - /*find a common supported voltage level*/ 1413 - vdd_level = dcn_find_normalized_clock_vdd_Level( 1414 - dc, DM_PP_CLOCK_TYPE_DISPLAY_CLK, clocks->dispclk_khz); 1415 - vdd_level_temp = dcn_find_normalized_clock_vdd_Level( 1416 - dc, DM_PP_CLOCK_TYPE_DISPLAYPHYCLK, clocks->phyclk_khz); 1417 - 1418 - vdd_level = dcn_bw_max(vdd_level, vdd_level_temp); 1419 - vdd_level_temp = dcn_find_normalized_clock_vdd_Level( 1420 - dc, DM_PP_CLOCK_TYPE_DPPCLK, clocks->dppclk_khz); 1421 - vdd_level = dcn_bw_max(vdd_level, vdd_level_temp); 1422 - 1423 - vdd_level_temp = dcn_find_normalized_clock_vdd_Level( 1424 - dc, DM_PP_CLOCK_TYPE_MEMORY_CLK, clocks->fclk_khz); 1425 - vdd_level = dcn_bw_max(vdd_level, vdd_level_temp); 1426 - vdd_level_temp = dcn_find_normalized_clock_vdd_Level( 1427 - dc, DM_PP_CLOCK_TYPE_DCFCLK, clocks->dcfclk_khz); 1428 - 1429 - /*find that level conresponding dcfclk*/ 1430 - vdd_level = dcn_bw_max(vdd_level, vdd_level_temp); 1431 - if (vdd_level == dcn_bw_v_max0p91) { 1432 - BREAK_TO_DEBUGGER(); 1433 - dcf_clk = dc->dcn_soc->dcfclkv_max0p9*1000; 1434 - } else if (vdd_level == dcn_bw_v_max0p9) 1435 - dcf_clk = dc->dcn_soc->dcfclkv_max0p9*1000; 1436 - else if (vdd_level == dcn_bw_v_nom0p8) 1437 - dcf_clk = dc->dcn_soc->dcfclkv_nom0p8*1000; 1438 - else if (vdd_level == dcn_bw_v_mid0p72) 1439 - dcf_clk = dc->dcn_soc->dcfclkv_mid0p72*1000; 1440 - else 1441 - dcf_clk = dc->dcn_soc->dcfclkv_min0p65*1000; 1442 - 1443 - DC_LOG_BANDWIDTH_CALCS("\tdcf_clk for voltage = %d\n", dcf_clk); 1444 - return dcf_clk; 1445 - } 1446 - 1447 1315 void dcn_bw_update_from_pplib_fclks( 1448 1316 struct dc *dc, 1449 1317 struct dm_pp_clock_levels_with_voltage *fclks)
-4
drivers/gpu/drm/amd/display/dc/inc/dcn_calcs.h
··· 624 624 struct dc_state *context, 625 625 bool fast_validate); 626 626 627 - unsigned int dcn_find_dcfclk_suits_all( 628 - const struct dc *dc, 629 - struct dc_clocks *clocks); 630 - 631 627 void dcn_get_soc_clks( 632 628 struct dc *dc, 633 629 int *min_fclk_khz,