Lines Matching refs:levels
347 u32 highest_engine_clock = ps->levels[ps->num_levels - 1].sclk;
411 m_a = asi * ps->levels[i].sclk / 100;
670 pi->boost_pl = new_ps->levels[new_ps->num_levels - 1];
762 sumo_program_power_level(rdev, &new_ps->levels[i], i);
844 if (new_ps->levels[new_ps->num_levels - 1].sclk >=
845 current_ps->levels[current_ps->num_levels - 1].sclk)
862 if (new_ps->levels[new_ps->num_levels - 1].sclk <
863 current_ps->levels[current_ps->num_levels - 1].sclk)
1053 current_vddc = current_ps->levels[current_index].vddc_index;
1054 current_sclk = current_ps->levels[current_index].sclk;
1060 ps->levels[0].vddc_index = current_vddc;
1062 if (ps->levels[0].sclk > current_sclk)
1063 ps->levels[0].sclk = current_sclk;
1065 ps->levels[0].ss_divider_index =
1066 sumo_get_sleep_divider_id_from_clock(rdev, ps->levels[0].sclk, sclk_in_sr);
1068 ps->levels[0].ds_divider_index =
1069 sumo_get_sleep_divider_id_from_clock(rdev, ps->levels[0].sclk, SUMO_MINIMUM_ENGINE_CLOCK);
1071 if (ps->levels[0].ds_divider_index > ps->levels[0].ss_divider_index + 1)
1072 ps->levels[0].ds_divider_index = ps->levels[0].ss_divider_index + 1;
1074 if (ps->levels[0].ss_divider_index == ps->levels[0].ds_divider_index) {
1075 if (ps->levels[0].ss_divider_index > 1)
1076 ps->levels[0].ss_divider_index = ps->levels[0].ss_divider_index - 1;
1079 if (ps->levels[0].ss_divider_index == 0)
1080 ps->levels[0].ds_divider_index = 0;
1082 if (ps->levels[0].ds_divider_index == 0)
1083 ps->levels[0].ss_divider_index = 0;
1112 if (ps->levels[i].vddc_index < min_voltage)
1113 ps->levels[i].vddc_index = min_voltage;
1115 if (ps->levels[i].sclk < min_sclk)
1116 ps->levels[i].sclk =
1119 ps->levels[i].ss_divider_index =
1120 sumo_get_sleep_divider_id_from_clock(rdev, ps->levels[i].sclk, sclk_in_sr);
1122 ps->levels[i].ds_divider_index =
1123 sumo_get_sleep_divider_id_from_clock(rdev, ps->levels[i].sclk, SUMO_MINIMUM_ENGINE_CLOCK);
1125 if (ps->levels[i].ds_divider_index > ps->levels[i].ss_divider_index + 1)
1126 ps->levels[i].ds_divider_index = ps->levels[i].ss_divider_index + 1;
1128 if (ps->levels[i].ss_divider_index == ps->levels[i].ds_divider_index) {
1129 if (ps->levels[i].ss_divider_index > 1)
1130 ps->levels[i].ss_divider_index = ps->levels[i].ss_divider_index - 1;
1133 if (ps->levels[i].ss_divider_index == 0)
1134 ps->levels[i].ds_divider_index = 0;
1136 if (ps->levels[i].ds_divider_index == 0)
1137 ps->levels[i].ss_divider_index = 0;
1140 ps->levels[i].allow_gnb_slow = 1;
1143 ps->levels[i].allow_gnb_slow = 0;
1145 ps->levels[i].allow_gnb_slow = 0;
1147 ps->levels[i].allow_gnb_slow = 1;
1399 ps->levels[0] = pi->boot_pl;
1435 struct sumo_pl *pl = &ps->levels[index];
1739 pi->current_ps.levels[0] = pi->boot_pl;
1806 struct sumo_pl *pl = &ps->levels[i];
1834 pl = &ps->levels[current_index];
1858 pl = &ps->levels[current_index];
1885 pl = &ps->levels[current_index];
1909 return requested_state->levels[0].sclk;
1911 return requested_state->levels[requested_state->num_levels - 1].sclk;