Lines Matching full:constraints

105 	if (rdev->constraints && rdev->constraints->name)  in rdev_get_name()
106 return rdev->constraints->name; in rdev_get_name()
121 if (!rdev->constraints) { in regulator_ops_is_valid()
122 rdev_err(rdev, "no constraints\n"); in regulator_ops_is_valid()
126 if (rdev->constraints->valid_ops_mask & ops) in regulator_ops_is_valid()
499 if (*max_uV > rdev->constraints->max_uV) in regulator_check_voltage()
500 *max_uV = rdev->constraints->max_uV; in regulator_check_voltage()
501 if (*min_uV < rdev->constraints->min_uV) in regulator_check_voltage()
502 *min_uV = rdev->constraints->min_uV; in regulator_check_voltage()
564 if (*max_uA > rdev->constraints->max_uA) in regulator_check_current_limit()
565 *max_uA = rdev->constraints->max_uA; in regulator_check_current_limit()
566 if (*min_uA < rdev->constraints->min_uA) in regulator_check_current_limit()
567 *min_uA = rdev->constraints->min_uA; in regulator_check_current_limit()
603 if (rdev->constraints->valid_modes_mask & *mode) in regulator_mode_constrain()
614 if (rdev->constraints == NULL) in regulator_get_suspend_state()
619 return &rdev->constraints->state_standby; in regulator_get_suspend_state()
621 return &rdev->constraints->state_mem; in regulator_get_suspend_state()
623 return &rdev->constraints->state_disk; in regulator_get_suspend_state()
792 if (!rdev->constraints) in min_microamps_show()
795 return sprintf(buf, "%d\n", rdev->constraints->min_uA); in min_microamps_show()
804 if (!rdev->constraints) in max_microamps_show()
807 return sprintf(buf, "%d\n", rdev->constraints->max_uA); in max_microamps_show()
816 if (!rdev->constraints) in min_microvolts_show()
819 return sprintf(buf, "%d\n", rdev->constraints->min_uV); in min_microvolts_show()
828 if (!rdev->constraints) in max_microvolts_show()
831 return sprintf(buf, "%d\n", rdev->constraints->max_uV); in max_microvolts_show()
880 return sprintf(buf, "%d\n", rdev->constraints->state_mem.uV); in suspend_mem_microvolts_show()
889 return sprintf(buf, "%d\n", rdev->constraints->state_disk.uV); in suspend_disk_microvolts_show()
898 return sprintf(buf, "%d\n", rdev->constraints->state_standby.uV); in suspend_standby_microvolts_show()
908 rdev->constraints->state_mem.mode); in suspend_mem_mode_show()
918 rdev->constraints->state_disk.mode); in suspend_disk_mode_show()
928 rdev->constraints->state_standby.mode); in suspend_standby_mode_show()
938 rdev->constraints->state_mem.enabled); in suspend_mem_state_show()
948 rdev->constraints->state_disk.enabled); in suspend_disk_state_show()
958 rdev->constraints->state_standby.enabled); in suspend_standby_state_show()
1039 current_uA += rdev->constraints->system_load; in drms_uA_update()
1049 * Unfortunately in some cases the constraints->valid_ops has in drms_uA_update()
1055 if (!rdev->constraints->valid_modes_mask) { in drms_uA_update()
1075 input_uV = rdev->constraints->input_uV; in drms_uA_update()
1148 rdev->constraints->initial_state); in suspend_set_initial_state()
1158 struct regulation_constraints *constraints = rdev->constraints; in print_constraints_debug() local
1164 if (constraints->min_uV && constraints->max_uV) { in print_constraints_debug()
1165 if (constraints->min_uV == constraints->max_uV) in print_constraints_debug()
1167 constraints->min_uV / 1000); in print_constraints_debug()
1171 constraints->min_uV / 1000, in print_constraints_debug()
1172 constraints->max_uV / 1000); in print_constraints_debug()
1175 if (!constraints->min_uV || in print_constraints_debug()
1176 constraints->min_uV != constraints->max_uV) { in print_constraints_debug()
1183 if (constraints->uV_offset) in print_constraints_debug()
1185 constraints->uV_offset / 1000); in print_constraints_debug()
1187 if (constraints->min_uA && constraints->max_uA) { in print_constraints_debug()
1188 if (constraints->min_uA == constraints->max_uA) in print_constraints_debug()
1190 constraints->min_uA / 1000); in print_constraints_debug()
1194 constraints->min_uA / 1000, in print_constraints_debug()
1195 constraints->max_uA / 1000); in print_constraints_debug()
1198 if (!constraints->min_uA || in print_constraints_debug()
1199 constraints->min_uA != constraints->max_uA) { in print_constraints_debug()
1206 if (constraints->valid_modes_mask & REGULATOR_MODE_FAST) in print_constraints_debug()
1208 if (constraints->valid_modes_mask & REGULATOR_MODE_NORMAL) in print_constraints_debug()
1210 if (constraints->valid_modes_mask & REGULATOR_MODE_IDLE) in print_constraints_debug()
1212 if (constraints->valid_modes_mask & REGULATOR_MODE_STANDBY) in print_constraints_debug()
1231 struct regulation_constraints *constraints = rdev->constraints; in print_constraints() local
1235 if ((constraints->min_uV != constraints->max_uV) && in print_constraints()
1242 struct regulation_constraints *constraints) in machine_constraints_voltage() argument
1248 if (rdev->constraints->apply_uV && in machine_constraints_voltage()
1249 rdev->constraints->min_uV && rdev->constraints->max_uV) { in machine_constraints_voltage()
1256 rdev->constraints->min_uV, in machine_constraints_voltage()
1257 rdev->constraints->max_uV); in machine_constraints_voltage()
1259 rdev->constraints->min_uV, in machine_constraints_voltage()
1260 rdev->constraints->max_uV); in machine_constraints_voltage()
1280 if (current_uV < rdev->constraints->min_uV) { in machine_constraints_voltage()
1281 target_min = rdev->constraints->min_uV; in machine_constraints_voltage()
1282 target_max = rdev->constraints->min_uV; in machine_constraints_voltage()
1285 if (current_uV > rdev->constraints->max_uV) { in machine_constraints_voltage()
1286 target_min = rdev->constraints->max_uV; in machine_constraints_voltage()
1287 target_max = rdev->constraints->max_uV; in machine_constraints_voltage()
1312 int cmin = constraints->min_uV; in machine_constraints_voltage()
1313 int cmax = constraints->max_uV; in machine_constraints_voltage()
1316 * and the constraints are used by list_voltage. in machine_constraints_voltage()
1321 constraints->min_uV = cmin; in machine_constraints_voltage()
1322 constraints->max_uV = cmax; in machine_constraints_voltage()
1325 /* voltage constraints are optional */ in machine_constraints_voltage()
1329 /* else require explicit machine-level constraints */ in machine_constraints_voltage()
1331 rdev_err(rdev, "invalid voltage constraints\n"); in machine_constraints_voltage()
1354 /* final: [min_uV..max_uV] valid iff constraints valid */ in machine_constraints_voltage()
1357 "unsupportable voltage constraints %u-%uuV\n", in machine_constraints_voltage()
1362 /* use regulator's subset of machine constraints */ in machine_constraints_voltage()
1363 if (constraints->min_uV < min_uV) { in machine_constraints_voltage()
1365 constraints->min_uV, min_uV); in machine_constraints_voltage()
1366 constraints->min_uV = min_uV; in machine_constraints_voltage()
1368 if (constraints->max_uV > max_uV) { in machine_constraints_voltage()
1370 constraints->max_uV, max_uV); in machine_constraints_voltage()
1371 constraints->max_uV = max_uV; in machine_constraints_voltage()
1379 struct regulation_constraints *constraints) in machine_constraints_current() argument
1384 if (!constraints->min_uA && !constraints->max_uA) in machine_constraints_current()
1387 if (constraints->min_uA > constraints->max_uA) { in machine_constraints_current()
1388 rdev_err(rdev, "Invalid current constraints\n"); in machine_constraints_current()
1397 /* Set regulator current in constraints range */ in machine_constraints_current()
1398 ret = ops->set_current_limit(rdev, constraints->min_uA, in machine_constraints_current()
1399 constraints->max_uA); in machine_constraints_current()
1457 * set_machine_constraints - sets regulator constraints
1462 * Constraints *must* be set by platform code in order for some
1471 ret = machine_constraints_voltage(rdev, rdev->constraints); in set_machine_constraints()
1475 ret = machine_constraints_current(rdev, rdev->constraints); in set_machine_constraints()
1479 if (rdev->constraints->ilim_uA && ops->set_input_current_limit) { in set_machine_constraints()
1481 rdev->constraints->ilim_uA); in set_machine_constraints()
1489 if (rdev->constraints->initial_state) { in set_machine_constraints()
1497 if (rdev->constraints->initial_mode) { in set_machine_constraints()
1503 ret = ops->set_mode(rdev, rdev->constraints->initial_mode); in set_machine_constraints()
1508 } else if (rdev->constraints->system_load) { in set_machine_constraints()
1516 if ((rdev->constraints->ramp_delay || rdev->constraints->ramp_disable) in set_machine_constraints()
1518 ret = ops->set_ramp_delay(rdev, rdev->constraints->ramp_delay); in set_machine_constraints()
1525 if (rdev->constraints->pull_down && ops->set_pull_down) { in set_machine_constraints()
1533 if (rdev->constraints->soft_start && ops->set_soft_start) { in set_machine_constraints()
1555 if (rdev->constraints->over_current_protection in set_machine_constraints()
1557 int lim = rdev->constraints->over_curr_limits.prot; in set_machine_constraints()
1569 if (rdev->constraints->over_current_detection) in set_machine_constraints()
1572 &rdev->constraints->over_curr_limits); in set_machine_constraints()
1583 if (rdev->constraints->over_voltage_detection) in set_machine_constraints()
1586 &rdev->constraints->over_voltage_limits); in set_machine_constraints()
1597 if (rdev->constraints->under_voltage_detection) in set_machine_constraints()
1600 &rdev->constraints->under_voltage_limits); in set_machine_constraints()
1611 if (rdev->constraints->over_temp_detection) in set_machine_constraints()
1614 &rdev->constraints->temp_limits); in set_machine_constraints()
1625 if (rdev->constraints->active_discharge && ops->set_active_discharge) { in set_machine_constraints()
1626 bool ad_state = (rdev->constraints->active_discharge == in set_machine_constraints()
1648 rdev->constraints->always_on = in set_machine_constraints()
1649 rdev->supply->rdev->constraints->always_on; in set_machine_constraints()
1651 rdev->constraints->always_on = true; in set_machine_constraints()
1654 /* If the constraints say the regulator should be on at this point in set_machine_constraints()
1657 if (rdev->constraints->always_on || rdev->constraints->boot_on) { in set_machine_constraints()
1669 (rdev->constraints->always_on || in set_machine_constraints()
1685 if (rdev->constraints->always_on) in set_machine_constraints()
1818 const struct regulation_constraints *c = regulator->rdev->constraints; in constraint_flags_read_file()
1942 if (rdev->constraints && rdev->constraints->enable_time) in _regulator_get_enable_time()
1943 return rdev->constraints->enable_time; in _regulator_get_enable_time()
2198 "incomplete constraints, dummy supplies not allowed\n"); in _regulator_get()
3007 (rdev->constraints && !rdev->constraints->always_on)) { in _regulator_disable()
3057 * machine constraints permit this operation.
3188 * machine constraints permit this operation.
3247 if (ret < rdev->constraints->min_uV) in _regulator_list_voltage()
3249 else if (ret > rdev->constraints->max_uV) in _regulator_list_voltage()
3435 return min_uV >= rdev->constraints->min_uV && in regulator_is_supported_voltage()
3436 max_uV <= rdev->constraints->max_uV; in regulator_is_supported_voltage()
3590 if (rdev->constraints->ramp_delay) in _regulator_set_voltage_time()
3591 ramp_delay = rdev->constraints->ramp_delay; in _regulator_set_voltage_time()
3594 else if (rdev->constraints->settling_time) in _regulator_set_voltage_time()
3595 return rdev->constraints->settling_time; in _regulator_set_voltage_time()
3596 else if (rdev->constraints->settling_time_up && in _regulator_set_voltage_time()
3598 return rdev->constraints->settling_time_up; in _regulator_set_voltage_time()
3599 else if (rdev->constraints->settling_time_down && in _regulator_set_voltage_time()
3601 return rdev->constraints->settling_time_down; in _regulator_set_voltage_time()
3622 min_uV += rdev->constraints->uV_offset; in _regulator_do_set_voltage()
3623 max_uV += rdev->constraints->uV_offset; in _regulator_do_set_voltage()
3777 /* constraints check */ in regulator_set_voltage_unlocked()
3873 struct regulation_constraints *constraints = rdev->constraints; in regulator_limit_voltage_step() local
3876 if (!constraints->max_uV_step || !_regulator_is_enabled(rdev)) in regulator_limit_voltage_step()
3886 if (abs(*current_uV - *min_uV) <= constraints->max_uV_step) in regulator_limit_voltage_step()
3891 *min_uV = min(*current_uV + constraints->max_uV_step, in regulator_limit_voltage_step()
3894 *min_uV = max(*current_uV - constraints->max_uV_step, in regulator_limit_voltage_step()
3908 struct regulation_constraints *constraints = rdev->constraints; in regulator_get_optimal_voltage() local
3926 desired_min_uV = constraints->min_uV; in regulator_get_optimal_voltage()
3927 desired_max_uV = constraints->max_uV; in regulator_get_optimal_voltage()
3966 max_spread = constraints->max_spread[0]; in regulator_get_optimal_voltage()
4166 * request voltage that meets the system constraints will be used.
4167 * Regulator system constraints must be set for this regulator before
4478 return ret - rdev->constraints->uV_offset; in regulator_get_voltage_rdev()
4517 * NOTE: Regulator system constraints must be set for this regulator before
4534 /* constraints check */ in regulator_set_current_limit()
4589 * NOTE: Regulator system constraints must be set for this regulator before
4615 /* constraints check */ in regulator_set_mode()
4712 * DRMS (if enabled by constraints) to set the most efficient regulator
4728 * to the most efficient operating mode if platform constraints allow.
4768 * constraints allow this. Bypass mode means that the regulator is
5100 if (!rdev->constraints->system_critical) in regulator_handle_critical()
5118 rdev->constraints->uv_less_critical_window_ms); in regulator_handle_critical()
5255 /* constraints need specific supporting methods */ in regulator_attr_is_visible()
5297 kfree(rdev->constraints); in regulator_dev_release()
5521 if (!rdev->constraints->always_on) { in generic_coupler_attach()
5671 /* set regulator constraints */ in regulator_register()
5673 rdev->constraints = kmemdup(&init_data->constraints, in regulator_register()
5674 sizeof(*rdev->constraints), in regulator_register()
5677 rdev->constraints = kzalloc(sizeof(*rdev->constraints), in regulator_register()
5679 if (!rdev->constraints) { in regulator_register()
5685 (rdev->constraints->always_on || in regulator_register()
5686 rdev->constraints->boot_on)) { in regulator_register()
5717 * to set the constraints in regulator_register()
5903 * regulator_has_full_constraints - the system has fully specified constraints
6044 c = rdev->constraints; in regulator_summary_show_subtree()
6255 struct regulation_constraints *c = rdev->constraints; in regulator_late_cleanup()
6283 * assume that full constraints are provided in regulator_late_cleanup()
6287 rdev_warn(rdev, "incomplete constraints, leaving on\n"); in regulator_late_cleanup()
6328 * for DT and ACPI as they have full constraints. in regulator_init_complete_work_function()
6341 * enabling full constraints and since it's much more natural in regulator_init_complete()
6343 * system has full constraints. in regulator_init_complete()