Lines Matching full:constraints

113 	if (rdev->constraints && rdev->constraints->name)  in rdev_get_name()
114 return rdev->constraints->name; in rdev_get_name()
128 if (!rdev->constraints) { in regulator_ops_is_valid()
129 rdev_err(rdev, "no constraints\n"); in regulator_ops_is_valid()
133 if (rdev->constraints->valid_ops_mask & ops) in regulator_ops_is_valid()
440 if (*max_uV > rdev->constraints->max_uV) in regulator_check_voltage()
441 *max_uV = rdev->constraints->max_uV; in regulator_check_voltage()
442 if (*min_uV < rdev->constraints->min_uV) in regulator_check_voltage()
443 *min_uV = rdev->constraints->min_uV; in regulator_check_voltage()
505 if (*max_uA > rdev->constraints->max_uA) in regulator_check_current_limit()
506 *max_uA = rdev->constraints->max_uA; in regulator_check_current_limit()
507 if (*min_uA < rdev->constraints->min_uA) in regulator_check_current_limit()
508 *min_uA = rdev->constraints->min_uA; in regulator_check_current_limit()
543 if (rdev->constraints->valid_modes_mask & *mode) in regulator_mode_constrain()
554 if (rdev->constraints == NULL) in regulator_get_suspend_state()
559 return &rdev->constraints->state_standby; in regulator_get_suspend_state()
561 return &rdev->constraints->state_mem; in regulator_get_suspend_state()
563 return &rdev->constraints->state_disk; in regulator_get_suspend_state()
732 if (!rdev->constraints) in regulator_min_uA_show()
735 return sprintf(buf, "%d\n", rdev->constraints->min_uA); in regulator_min_uA_show()
744 if (!rdev->constraints) in regulator_max_uA_show()
747 return sprintf(buf, "%d\n", rdev->constraints->max_uA); in regulator_max_uA_show()
756 if (!rdev->constraints) in regulator_min_uV_show()
759 return sprintf(buf, "%d\n", rdev->constraints->min_uV); in regulator_min_uV_show()
768 if (!rdev->constraints) in regulator_max_uV_show()
771 return sprintf(buf, "%d\n", rdev->constraints->max_uV); in regulator_max_uV_show()
820 return sprintf(buf, "%d\n", rdev->constraints->state_mem.uV); in regulator_suspend_mem_uV_show()
830 return sprintf(buf, "%d\n", rdev->constraints->state_disk.uV); in regulator_suspend_disk_uV_show()
840 return sprintf(buf, "%d\n", rdev->constraints->state_standby.uV); in regulator_suspend_standby_uV_show()
851 rdev->constraints->state_mem.mode); in regulator_suspend_mem_mode_show()
862 rdev->constraints->state_disk.mode); in regulator_suspend_disk_mode_show()
873 rdev->constraints->state_standby.mode); in regulator_suspend_standby_mode_show()
884 rdev->constraints->state_mem.enabled); in regulator_suspend_mem_state_show()
895 rdev->constraints->state_disk.enabled); in regulator_suspend_disk_state_show()
906 rdev->constraints->state_standby.enabled); in regulator_suspend_standby_state_show()
964 current_uA += rdev->constraints->system_load; in drms_uA_update()
985 input_uV = rdev->constraints->input_uV; in drms_uA_update()
1055 rdev->constraints->initial_state); in suspend_set_initial_state()
1065 struct regulation_constraints *constraints = rdev->constraints; in print_constraints_debug() local
1071 if (constraints->min_uV && constraints->max_uV) { in print_constraints_debug()
1072 if (constraints->min_uV == constraints->max_uV) in print_constraints_debug()
1074 constraints->min_uV / 1000); in print_constraints_debug()
1078 constraints->min_uV / 1000, in print_constraints_debug()
1079 constraints->max_uV / 1000); in print_constraints_debug()
1082 if (!constraints->min_uV || in print_constraints_debug()
1083 constraints->min_uV != constraints->max_uV) { in print_constraints_debug()
1090 if (constraints->uV_offset) in print_constraints_debug()
1092 constraints->uV_offset / 1000); in print_constraints_debug()
1094 if (constraints->min_uA && constraints->max_uA) { in print_constraints_debug()
1095 if (constraints->min_uA == constraints->max_uA) in print_constraints_debug()
1097 constraints->min_uA / 1000); in print_constraints_debug()
1101 constraints->min_uA / 1000, in print_constraints_debug()
1102 constraints->max_uA / 1000); in print_constraints_debug()
1105 if (!constraints->min_uA || in print_constraints_debug()
1106 constraints->min_uA != constraints->max_uA) { in print_constraints_debug()
1113 if (constraints->valid_modes_mask & REGULATOR_MODE_FAST) in print_constraints_debug()
1115 if (constraints->valid_modes_mask & REGULATOR_MODE_NORMAL) in print_constraints_debug()
1117 if (constraints->valid_modes_mask & REGULATOR_MODE_IDLE) in print_constraints_debug()
1119 if (constraints->valid_modes_mask & REGULATOR_MODE_STANDBY) in print_constraints_debug()
1138 struct regulation_constraints *constraints = rdev->constraints; in print_constraints() local
1142 if ((constraints->min_uV != constraints->max_uV) && in print_constraints()
1149 struct regulation_constraints *constraints) in machine_constraints_voltage() argument
1155 if (rdev->constraints->apply_uV && in machine_constraints_voltage()
1156 rdev->constraints->min_uV && rdev->constraints->max_uV) { in machine_constraints_voltage()
1163 rdev->constraints->min_uV, in machine_constraints_voltage()
1164 rdev->constraints->max_uV); in machine_constraints_voltage()
1166 rdev->constraints->min_uV, in machine_constraints_voltage()
1167 rdev->constraints->max_uV); in machine_constraints_voltage()
1186 if (current_uV < rdev->constraints->min_uV) { in machine_constraints_voltage()
1187 target_min = rdev->constraints->min_uV; in machine_constraints_voltage()
1188 target_max = rdev->constraints->min_uV; in machine_constraints_voltage()
1191 if (current_uV > rdev->constraints->max_uV) { in machine_constraints_voltage()
1192 target_min = rdev->constraints->max_uV; in machine_constraints_voltage()
1193 target_max = rdev->constraints->max_uV; in machine_constraints_voltage()
1218 int cmin = constraints->min_uV; in machine_constraints_voltage()
1219 int cmax = constraints->max_uV; in machine_constraints_voltage()
1222 and the constraints are used by list_voltage. */ in machine_constraints_voltage()
1226 constraints->min_uV = cmin; in machine_constraints_voltage()
1227 constraints->max_uV = cmax; in machine_constraints_voltage()
1230 /* voltage constraints are optional */ in machine_constraints_voltage()
1234 /* else require explicit machine-level constraints */ in machine_constraints_voltage()
1236 rdev_err(rdev, "invalid voltage constraints\n"); in machine_constraints_voltage()
1259 /* final: [min_uV..max_uV] valid iff constraints valid */ in machine_constraints_voltage()
1262 "unsupportable voltage constraints %u-%uuV\n", in machine_constraints_voltage()
1267 /* use regulator's subset of machine constraints */ in machine_constraints_voltage()
1268 if (constraints->min_uV < min_uV) { in machine_constraints_voltage()
1270 constraints->min_uV, min_uV); in machine_constraints_voltage()
1271 constraints->min_uV = min_uV; in machine_constraints_voltage()
1273 if (constraints->max_uV > max_uV) { in machine_constraints_voltage()
1275 constraints->max_uV, max_uV); in machine_constraints_voltage()
1276 constraints->max_uV = max_uV; in machine_constraints_voltage()
1284 struct regulation_constraints *constraints) in machine_constraints_current() argument
1289 if (!constraints->min_uA && !constraints->max_uA) in machine_constraints_current()
1292 if (constraints->min_uA > constraints->max_uA) { in machine_constraints_current()
1293 rdev_err(rdev, "Invalid current constraints\n"); in machine_constraints_current()
1302 /* Set regulator current in constraints range */ in machine_constraints_current()
1303 ret = ops->set_current_limit(rdev, constraints->min_uA, in machine_constraints_current()
1304 constraints->max_uA); in machine_constraints_current()
1316 * set_machine_constraints - sets regulator constraints
1321 * Constraints *must* be set by platform code in order for some
1330 ret = machine_constraints_voltage(rdev, rdev->constraints); in set_machine_constraints()
1334 ret = machine_constraints_current(rdev, rdev->constraints); in set_machine_constraints()
1338 if (rdev->constraints->ilim_uA && ops->set_input_current_limit) { in set_machine_constraints()
1340 rdev->constraints->ilim_uA); in set_machine_constraints()
1348 if (rdev->constraints->initial_state) { in set_machine_constraints()
1356 if (rdev->constraints->initial_mode) { in set_machine_constraints()
1362 ret = ops->set_mode(rdev, rdev->constraints->initial_mode); in set_machine_constraints()
1367 } else if (rdev->constraints->system_load) { in set_machine_constraints()
1375 if ((rdev->constraints->ramp_delay || rdev->constraints->ramp_disable) in set_machine_constraints()
1377 ret = ops->set_ramp_delay(rdev, rdev->constraints->ramp_delay); in set_machine_constraints()
1384 if (rdev->constraints->pull_down && ops->set_pull_down) { in set_machine_constraints()
1392 if (rdev->constraints->soft_start && ops->set_soft_start) { in set_machine_constraints()
1400 if (rdev->constraints->over_current_protection in set_machine_constraints()
1410 if (rdev->constraints->active_discharge && ops->set_active_discharge) { in set_machine_constraints()
1411 bool ad_state = (rdev->constraints->active_discharge == in set_machine_constraints()
1421 /* If the constraints say the regulator should be on at this point in set_machine_constraints()
1424 if (rdev->constraints->always_on || rdev->constraints->boot_on) { in set_machine_constraints()
1440 if (rdev->constraints->always_on) in set_machine_constraints()
1570 const struct regulation_constraints *c = regulator->rdev->constraints; in constraint_flags_read_file()
1696 if (rdev->constraints && rdev->constraints->enable_time) in _regulator_get_enable_time()
1697 return rdev->constraints->enable_time; in _regulator_get_enable_time()
1928 "incomplete constraints, dummy supplies not allowed\n"); in _regulator_get()
2737 (rdev->constraints && !rdev->constraints->always_on)) { in _regulator_disable()
2786 * machine constraints permit this operation.
2917 * machine constraints permit this operation.
2974 if (ret < rdev->constraints->min_uV) in _regulator_list_voltage()
2976 else if (ret > rdev->constraints->max_uV) in _regulator_list_voltage()
3160 return min_uV >= rdev->constraints->min_uV && in regulator_is_supported_voltage()
3161 max_uV <= rdev->constraints->max_uV; in regulator_is_supported_voltage()
3315 if (rdev->constraints->ramp_delay) in _regulator_set_voltage_time()
3316 ramp_delay = rdev->constraints->ramp_delay; in _regulator_set_voltage_time()
3319 else if (rdev->constraints->settling_time) in _regulator_set_voltage_time()
3320 return rdev->constraints->settling_time; in _regulator_set_voltage_time()
3321 else if (rdev->constraints->settling_time_up && in _regulator_set_voltage_time()
3323 return rdev->constraints->settling_time_up; in _regulator_set_voltage_time()
3324 else if (rdev->constraints->settling_time_down && in _regulator_set_voltage_time()
3326 return rdev->constraints->settling_time_down; in _regulator_set_voltage_time()
3349 min_uV += rdev->constraints->uV_offset; in _regulator_do_set_voltage()
3350 max_uV += rdev->constraints->uV_offset; in _regulator_do_set_voltage()
3509 /* constraints check */ in regulator_set_voltage_unlocked()
3605 struct regulation_constraints *constraints = rdev->constraints; in regulator_limit_voltage_step() local
3608 if (!constraints->max_uV_step || !_regulator_is_enabled(rdev)) in regulator_limit_voltage_step()
3618 if (abs(*current_uV - *min_uV) <= constraints->max_uV_step) in regulator_limit_voltage_step()
3623 *min_uV = min(*current_uV + constraints->max_uV_step, in regulator_limit_voltage_step()
3626 *min_uV = max(*current_uV - constraints->max_uV_step, in regulator_limit_voltage_step()
3640 struct regulation_constraints *constraints = rdev->constraints; in regulator_get_optimal_voltage() local
3658 desired_min_uV = constraints->min_uV; in regulator_get_optimal_voltage()
3659 desired_max_uV = constraints->max_uV; in regulator_get_optimal_voltage()
3698 max_spread = constraints->max_spread[0]; in regulator_get_optimal_voltage()
3898 * request voltage that meets the system constraints will be used.
3899 * Regulator system constraints must be set for this regulator before
4174 return ret - rdev->constraints->uV_offset; in regulator_get_voltage_rdev()
4213 * NOTE: Regulator system constraints must be set for this regulator before
4230 /* constraints check */ in regulator_set_current_limit()
4285 * NOTE: Regulator system constraints must be set for this regulator before
4311 /* constraints check */ in regulator_set_mode()
4394 * DRMS (if enabled by constraints) to set the most efficient regulator
4410 * to the most efficient operating mode if platform constraints allow.
4450 * constraints allow this. Bypass mode means that the regulator is
4854 /* constraints need specific supporting methods */ in regulator_attr_is_visible()
4895 kfree(rdev->constraints); in regulator_dev_release()
5121 if (!rdev->constraints->always_on) { in generic_coupler_attach()
5283 /* set regulator constraints */ in regulator_register()
5285 rdev->constraints = kmemdup(&init_data->constraints, in regulator_register()
5286 sizeof(*rdev->constraints), in regulator_register()
5289 rdev->constraints = kzalloc(sizeof(*rdev->constraints), in regulator_register()
5291 if (!rdev->constraints) { in regulator_register()
5304 * to set the constraints */ in regulator_register()
5486 * regulator_has_full_constraints - the system has fully specified constraints
5627 c = rdev->constraints; in regulator_summary_show_subtree()
5838 struct regulation_constraints *c = rdev->constraints; in regulator_late_cleanup()
5871 * assume that full constraints are provided in regulator_late_cleanup()
5875 rdev_warn(rdev, "incomplete constraints, leaving on\n"); in regulator_late_cleanup()
5899 * for DT and ACPI as they have full constraints. in regulator_init_complete_work_function()
5912 * enabling full constraints and since it's much more natural in regulator_init_complete()
5914 * system has full constraints. in regulator_init_complete()