• Home
  • Raw
  • Download

Lines Matching refs:pi

356 	struct trinity_power_info *pi = rdev->pm.dpm.priv;  in trinity_get_pi()  local
358 return pi; in trinity_get_pi()
363 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_gfx_powergating_initialize() local
391 if (pi->override_dynamic_mgpg && (hw_rev == 0)) in trinity_gfx_powergating_initialize()
546 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_enable_clock_power_gating() local
548 if (pi->enable_gfx_clock_gating) in trinity_enable_clock_power_gating()
550 if (pi->enable_mg_clock_gating) in trinity_enable_clock_power_gating()
552 if (pi->enable_gfx_power_gating) in trinity_enable_clock_power_gating()
554 if (pi->enable_mg_clock_gating) { in trinity_enable_clock_power_gating()
558 if (pi->enable_gfx_clock_gating) in trinity_enable_clock_power_gating()
560 if (pi->enable_gfx_dynamic_mgpg) in trinity_enable_clock_power_gating()
562 if (pi->enable_gfx_power_gating) in trinity_enable_clock_power_gating()
568 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_disable_clock_power_gating() local
570 if (pi->enable_gfx_power_gating) in trinity_disable_clock_power_gating()
572 if (pi->enable_gfx_dynamic_mgpg) in trinity_disable_clock_power_gating()
574 if (pi->enable_gfx_clock_gating) in trinity_disable_clock_power_gating()
576 if (pi->enable_mg_clock_gating) { in trinity_disable_clock_power_gating()
637 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_set_vid() local
638 u32 vid_7bit = sumo_convert_vid2_to_vid7(rdev, &pi->sys_info.vid_mapping_table, vid); in trinity_set_vid()
716 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_program_power_level() local
729 trinity_set_at(rdev, index, pi->at[index]); in trinity_program_power_level()
858 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_program_bootup_state() local
861 trinity_program_power_level(rdev, &pi->boot_pl, 0); in trinity_program_bootup_state()
924 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_setup_uvd_clocks() local
926 if (pi->enable_gfx_power_gating) { in trinity_setup_uvd_clocks()
930 if (pi->uvd_dpm) { in trinity_setup_uvd_clocks()
956 if (pi->enable_gfx_power_gating) { in trinity_setup_uvd_clocks()
1006 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_program_ttt() local
1010 value |= HT((pi->thermal_auto_throttling + 49) * 8); in trinity_program_ttt()
1011 value |= LT((pi->thermal_auto_throttling + 49 - pi->sys_info.htc_hyst_lmt) * 8); in trinity_program_ttt()
1070 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_update_current_ps() local
1072 pi->current_rps = *rps; in trinity_update_current_ps()
1073 pi->current_ps = *new_ps; in trinity_update_current_ps()
1074 pi->current_rps.ps_priv = &pi->current_ps; in trinity_update_current_ps()
1081 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_update_requested_ps() local
1083 pi->requested_rps = *rps; in trinity_update_requested_ps()
1084 pi->requested_ps = *new_ps; in trinity_update_requested_ps()
1085 pi->requested_rps.ps_priv = &pi->requested_ps; in trinity_update_requested_ps()
1090 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_enable_bapm() local
1092 if (pi->enable_bapm) { in trinity_dpm_enable_bapm()
1101 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_enable() local
1113 if (pi->enable_auto_thermal_throttling) { in trinity_dpm_enable()
1176 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_get_min_sclk_divider() local
1178 pi->min_sclk_did = in trinity_get_min_sclk_divider()
1185 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_setup_nbp_sim() local
1189 if (pi->sys_info.nb_dpm_enable) { in trinity_setup_nbp_sim()
1203 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_force_performance_level() local
1204 struct radeon_ps *rps = &pi->current_rps; in trinity_dpm_force_performance_level()
1233 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_pre_set_power_state() local
1240 &pi->requested_rps, in trinity_dpm_pre_set_power_state()
1241 &pi->current_rps); in trinity_dpm_pre_set_power_state()
1248 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_set_power_state() local
1249 struct radeon_ps *new_ps = &pi->requested_rps; in trinity_dpm_set_power_state()
1250 struct radeon_ps *old_ps = &pi->current_rps; in trinity_dpm_set_power_state()
1253 if (pi->enable_dpm) { in trinity_dpm_set_power_state()
1254 if (pi->enable_bapm) in trinity_dpm_set_power_state()
1274 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_post_set_power_state() local
1275 struct radeon_ps *new_ps = &pi->requested_rps; in trinity_dpm_post_set_power_state()
1292 struct trinity_power_info *pi = trinity_get_pi(rdev);
1295 if (pi->enable_dpm) {
1310 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_convert_voltage_index_to_value() local
1311 u32 vid_7bit = sumo_convert_vid2_to_vid7(rdev, &pi->sys_info.vid_mapping_table, vid_2bit); in trinity_convert_voltage_index_to_value()
1325 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_patch_boot_state() local
1330 ps->levels[0] = pi->boot_pl; in trinity_patch_boot_state()
1342 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_construct_boot_state() local
1344 pi->boot_pl.sclk = pi->sys_info.bootup_sclk; in trinity_construct_boot_state()
1345 pi->boot_pl.vddc_index = pi->sys_info.bootup_nb_voltage_index; in trinity_construct_boot_state()
1346 pi->boot_pl.ds_divider_index = 0; in trinity_construct_boot_state()
1347 pi->boot_pl.ss_divider_index = 0; in trinity_construct_boot_state()
1348 pi->boot_pl.allow_gnb_slow = 1; in trinity_construct_boot_state()
1349 pi->boot_pl.force_nbp_state = 0; in trinity_construct_boot_state()
1350 pi->boot_pl.display_wm = 0; in trinity_construct_boot_state()
1351 pi->boot_pl.vce_wm = 0; in trinity_construct_boot_state()
1352 pi->current_ps.num_levels = 1; in trinity_construct_boot_state()
1353 pi->current_ps.levels[0] = pi->boot_pl; in trinity_construct_boot_state()
1359 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_get_sleep_divider_id_from_clock() local
1368 if (!pi->enable_sclk_ds) in trinity_get_sleep_divider_id_from_clock()
1383 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_get_valid_engine_clock() local
1386 for (i = 0; i < pi->sys_info.sclk_voltage_mapping_table.num_max_dpm_entries; i++) { in trinity_get_valid_engine_clock()
1387 if (pi->sys_info.sclk_voltage_mapping_table.entries[i].sclk_frequency >= lower_limit) in trinity_get_valid_engine_clock()
1388 return pi->sys_info.sclk_voltage_mapping_table.entries[i].sclk_frequency; in trinity_get_valid_engine_clock()
1391 if (i == pi->sys_info.sclk_voltage_mapping_table.num_max_dpm_entries) in trinity_get_valid_engine_clock()
1401 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_patch_thermal_state() local
1402 u32 sclk_in_sr = pi->sys_info.min_sclk; /* ??? */ in trinity_patch_thermal_state()
1411 current_vddc = pi->boot_pl.vddc_index; in trinity_patch_thermal_state()
1412 current_sclk = pi->boot_pl.sclk; in trinity_patch_thermal_state()
1453 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_get_uvd_clock_index() local
1457 if ((rps->vclk == pi->sys_info.uvd_clock_table_entries[i].vclk) && in trinity_get_uvd_clock_index()
1458 (rps->dclk == pi->sys_info.uvd_clock_table_entries[i].dclk)) in trinity_get_uvd_clock_index()
1473 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_adjust_uvd_state() local
1477 if (pi->uvd_dpm && r600_is_uvd_state(rps->class, rps->class2)) { in trinity_adjust_uvd_state()
1493 pi->sys_info.uvd_clock_table_entries[high_index].vclk_did; in trinity_adjust_uvd_state()
1495 pi->sys_info.uvd_clock_table_entries[high_index].dclk_did; in trinity_adjust_uvd_state()
1497 pi->sys_info.uvd_clock_table_entries[low_index].vclk_did; in trinity_adjust_uvd_state()
1499 pi->sys_info.uvd_clock_table_entries[low_index].dclk_did; in trinity_adjust_uvd_state()
1539 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_apply_state_adjust_rules() local
1541 u32 min_sclk = pi->sys_info.min_sclk; /* XXX check against disp reqs */ in trinity_apply_state_adjust_rules()
1542 u32 sclk_in_sr = pi->sys_info.min_sclk; /* ??? */ in trinity_apply_state_adjust_rules()
1597 if (pi->sys_info.nb_dpm_enable) { in trinity_apply_state_adjust_rules()
1607 (pi->sys_info.uma_channel_number == 1))); in trinity_apply_state_adjust_rules()
1626 struct trinity_power_info *pi = trinity_get_pi(rdev);
1628 if (pi->voltage_drop_in_dce)
1651 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_display_configuration_changed() local
1653 if (pi->voltage_drop_in_dce) in trinity_dpm_display_configuration_changed()
1710 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_parse_pplib_clock_info() local
1722 if (pi->enable_sclk_ds) { in trinity_parse_pplib_clock_info()
1827 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_convert_did_to_freq() local
1841 return ((pi->sys_info.dentist_vco_freq * 100) + (divider - 1)) / divider; in trinity_convert_did_to_freq()
1846 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_parse_sys_info_table() local
1863 pi->sys_info.bootup_sclk = le32_to_cpu(igp_info->info_7.ulBootUpEngineClock); in trinity_parse_sys_info_table()
1864 pi->sys_info.min_sclk = le32_to_cpu(igp_info->info_7.ulMinEngineClock); in trinity_parse_sys_info_table()
1865 pi->sys_info.bootup_uma_clk = le32_to_cpu(igp_info->info_7.ulBootUpUMAClock); in trinity_parse_sys_info_table()
1866 pi->sys_info.dentist_vco_freq = le32_to_cpu(igp_info->info_7.ulDentistVCOFreq); in trinity_parse_sys_info_table()
1867 pi->sys_info.bootup_nb_voltage_index = in trinity_parse_sys_info_table()
1870 pi->sys_info.htc_tmp_lmt = 203; in trinity_parse_sys_info_table()
1872 pi->sys_info.htc_tmp_lmt = igp_info->info_7.ucHtcTmpLmt; in trinity_parse_sys_info_table()
1874 pi->sys_info.htc_hyst_lmt = 5; in trinity_parse_sys_info_table()
1876 pi->sys_info.htc_hyst_lmt = igp_info->info_7.ucHtcHystLmt; in trinity_parse_sys_info_table()
1877 if (pi->sys_info.htc_tmp_lmt <= pi->sys_info.htc_hyst_lmt) { in trinity_parse_sys_info_table()
1881 if (pi->enable_nbps_policy) in trinity_parse_sys_info_table()
1882 pi->sys_info.nb_dpm_enable = igp_info->info_7.ucNBDPMEnable; in trinity_parse_sys_info_table()
1884 pi->sys_info.nb_dpm_enable = 0; in trinity_parse_sys_info_table()
1887 pi->sys_info.nbp_mclk[i] = le32_to_cpu(igp_info->info_7.ulNbpStateMemclkFreq[i]); in trinity_parse_sys_info_table()
1888 pi->sys_info.nbp_nclk[i] = le32_to_cpu(igp_info->info_7.ulNbpStateNClkFreq[i]); in trinity_parse_sys_info_table()
1891 pi->sys_info.nbp_voltage_index[0] = le16_to_cpu(igp_info->info_7.usNBP0Voltage); in trinity_parse_sys_info_table()
1892 pi->sys_info.nbp_voltage_index[1] = le16_to_cpu(igp_info->info_7.usNBP1Voltage); in trinity_parse_sys_info_table()
1893 pi->sys_info.nbp_voltage_index[2] = le16_to_cpu(igp_info->info_7.usNBP2Voltage); in trinity_parse_sys_info_table()
1894 pi->sys_info.nbp_voltage_index[3] = le16_to_cpu(igp_info->info_7.usNBP3Voltage); in trinity_parse_sys_info_table()
1896 if (!pi->sys_info.nb_dpm_enable) { in trinity_parse_sys_info_table()
1898 pi->sys_info.nbp_mclk[i] = pi->sys_info.nbp_mclk[0]; in trinity_parse_sys_info_table()
1899 pi->sys_info.nbp_nclk[i] = pi->sys_info.nbp_nclk[0]; in trinity_parse_sys_info_table()
1900 pi->sys_info.nbp_voltage_index[i] = pi->sys_info.nbp_voltage_index[0]; in trinity_parse_sys_info_table()
1904 pi->sys_info.uma_channel_number = igp_info->info_7.ucUMAChannelNumber; in trinity_parse_sys_info_table()
1907 &pi->sys_info.sclk_voltage_mapping_table, in trinity_parse_sys_info_table()
1909 sumo_construct_vid_mapping_table(rdev, &pi->sys_info.vid_mapping_table, in trinity_parse_sys_info_table()
1912 pi->sys_info.uvd_clock_table_entries[0].vclk_did = in trinity_parse_sys_info_table()
1914 pi->sys_info.uvd_clock_table_entries[1].vclk_did = in trinity_parse_sys_info_table()
1916 pi->sys_info.uvd_clock_table_entries[2].vclk_did = in trinity_parse_sys_info_table()
1918 pi->sys_info.uvd_clock_table_entries[3].vclk_did = in trinity_parse_sys_info_table()
1921 pi->sys_info.uvd_clock_table_entries[0].dclk_did = in trinity_parse_sys_info_table()
1923 pi->sys_info.uvd_clock_table_entries[1].dclk_did = in trinity_parse_sys_info_table()
1925 pi->sys_info.uvd_clock_table_entries[2].dclk_did = in trinity_parse_sys_info_table()
1927 pi->sys_info.uvd_clock_table_entries[3].dclk_did = in trinity_parse_sys_info_table()
1931 pi->sys_info.uvd_clock_table_entries[i].vclk = in trinity_parse_sys_info_table()
1933 pi->sys_info.uvd_clock_table_entries[i].vclk_did); in trinity_parse_sys_info_table()
1934 pi->sys_info.uvd_clock_table_entries[i].dclk = in trinity_parse_sys_info_table()
1936 pi->sys_info.uvd_clock_table_entries[i].dclk_did); in trinity_parse_sys_info_table()
1947 struct trinity_power_info *pi; in trinity_dpm_init() local
1950 pi = kzalloc(sizeof(struct trinity_power_info), GFP_KERNEL); in trinity_dpm_init()
1951 if (pi == NULL) in trinity_dpm_init()
1953 rdev->pm.dpm.priv = pi; in trinity_dpm_init()
1956 pi->at[i] = TRINITY_AT_DFLT; in trinity_dpm_init()
1966 pi->enable_bapm = true; in trinity_dpm_init()
1968 pi->enable_bapm = false; in trinity_dpm_init()
1970 pi->enable_bapm = false; in trinity_dpm_init()
1972 pi->enable_bapm = true; in trinity_dpm_init()
1974 pi->enable_nbps_policy = true; in trinity_dpm_init()
1975 pi->enable_sclk_ds = true; in trinity_dpm_init()
1976 pi->enable_gfx_power_gating = true; in trinity_dpm_init()
1977 pi->enable_gfx_clock_gating = true; in trinity_dpm_init()
1978 pi->enable_mg_clock_gating = false; in trinity_dpm_init()
1979 pi->enable_gfx_dynamic_mgpg = false; in trinity_dpm_init()
1980 pi->override_dynamic_mgpg = false; in trinity_dpm_init()
1981 pi->enable_auto_thermal_throttling = true; in trinity_dpm_init()
1982 pi->voltage_drop_in_dce = false; /* need to restructure dpm/modeset interaction */ in trinity_dpm_init()
1983 pi->uvd_dpm = true; /* ??? */ in trinity_dpm_init()
2003 pi->thermal_auto_throttling = pi->sys_info.htc_tmp_lmt; in trinity_dpm_init()
2004 pi->enable_dpm = true; in trinity_dpm_init()
2030 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_debugfs_print_current_performance_level() local
2031 struct radeon_ps *rps = &pi->current_rps; in trinity_dpm_debugfs_print_current_performance_level()
2051 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_get_current_sclk() local
2052 struct radeon_ps *rps = &pi->current_rps; in trinity_dpm_get_current_sclk()
2069 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_get_current_mclk() local
2071 return pi->sys_info.bootup_uma_clk; in trinity_dpm_get_current_mclk()
2090 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_get_sclk() local
2091 struct trinity_ps *requested_state = trinity_get_ps(&pi->requested_rps); in trinity_dpm_get_sclk()
2101 struct trinity_power_info *pi = trinity_get_pi(rdev); in trinity_dpm_get_mclk() local
2103 return pi->sys_info.bootup_uma_clk; in trinity_dpm_get_mclk()