Lines Matching refs:params

100 static bool power_actor_is_valid(struct power_allocator_params *params,  in power_actor_is_valid()  argument
103 return (instance->trip == params->trip_max && in power_actor_is_valid()
120 struct power_allocator_params *params = tz->governor_data; in estimate_sustainable_power() local
127 if (!power_actor_is_valid(params, instance)) in estimate_sustainable_power()
199 struct power_allocator_params *params, in get_sustainable_power() argument
210 if (sustainable_power != params->sustainable_power) { in get_sustainable_power()
212 params->trip_switch_on, control_temp); in get_sustainable_power()
216 params->sustainable_power = sustainable_power; in get_sustainable_power()
244 struct power_allocator_params *params = tz->governor_data; in pid_controller() local
251 sustainable_power = get_sustainable_power(tz, params, control_temp); in pid_controller()
265 i = mul_frac(tz->tzp->k_i, params->err_integral); in pid_controller()
272 params->err_integral += err; in pid_controller()
283 d = mul_frac(tz->tzp->k_d, err - params->prev_err); in pid_controller()
285 params->prev_err = err; in pid_controller()
295 frac_to_int(params->err_integral), in pid_controller()
402 struct power_allocator_params *params = tz->governor_data; in allocate_power() local
403 unsigned int num_actors = params->num_actors; in allocate_power()
404 struct power_actor *power = params->power; in allocate_power()
418 memset(power, 0, params->buffer_size); in allocate_power()
423 if (!power_actor_is_valid(params, instance)) in allocate_power()
432 if (!params->total_weight) in allocate_power()
460 if (!power_actor_is_valid(params, instance)) in allocate_power()
494 struct power_allocator_params *params) in get_governor_trips() argument
521 params->trip_switch_on = first_passive; in get_governor_trips()
522 params->trip_max = last_passive; in get_governor_trips()
524 params->trip_switch_on = NULL; in get_governor_trips()
525 params->trip_max = first_passive; in get_governor_trips()
527 params->trip_switch_on = NULL; in get_governor_trips()
528 params->trip_max = last_active; in get_governor_trips()
532 static void reset_pid_controller(struct power_allocator_params *params) in reset_pid_controller() argument
534 params->err_integral = 0; in reset_pid_controller()
535 params->prev_err = 0; in reset_pid_controller()
540 struct power_allocator_params *params = tz->governor_data; in allow_maximum_power() local
546 if (!power_actor_is_valid(params, instance)) in allow_maximum_power()
560 if (params->update_cdevs) in allow_maximum_power()
582 struct power_allocator_params *params) in check_power_actors() argument
588 if (instance->trip != params->trip_max) in check_power_actors()
602 static int allocate_actors_buffer(struct power_allocator_params *params, in allocate_actors_buffer() argument
607 kfree(params->power); in allocate_actors_buffer()
615 params->power = kcalloc(num_actors, sizeof(struct power_actor), in allocate_actors_buffer()
617 if (!params->power) { in allocate_actors_buffer()
622 params->num_actors = num_actors; in allocate_actors_buffer()
623 params->buffer_size = num_actors * sizeof(struct power_actor); in allocate_actors_buffer()
628 params->num_actors = 0; in allocate_actors_buffer()
629 params->buffer_size = 0; in allocate_actors_buffer()
630 params->power = NULL; in allocate_actors_buffer()
637 struct power_allocator_params *params = tz->governor_data; in power_allocator_update_tz() local
645 if (power_actor_is_valid(params, instance)) in power_allocator_update_tz()
648 if (num_actors == params->num_actors) in power_allocator_update_tz()
651 allocate_actors_buffer(params, num_actors); in power_allocator_update_tz()
654 params->total_weight = 0; in power_allocator_update_tz()
656 if (power_actor_is_valid(params, instance)) in power_allocator_update_tz()
657 params->total_weight += instance->weight; in power_allocator_update_tz()
676 struct power_allocator_params *params; in power_allocator_bind() local
679 params = kzalloc(sizeof(*params), GFP_KERNEL); in power_allocator_bind()
680 if (!params) in power_allocator_bind()
683 get_governor_trips(tz, params); in power_allocator_bind()
685 ret = check_power_actors(tz, params); in power_allocator_bind()
688 kfree(params); in power_allocator_bind()
692 ret = allocate_actors_buffer(params, ret); in power_allocator_bind()
695 kfree(params); in power_allocator_bind()
706 params->allocated_tzp = true; in power_allocator_bind()
712 params->sustainable_power = tz->tzp->sustainable_power; in power_allocator_bind()
714 if (params->trip_max) in power_allocator_bind()
716 params->trip_switch_on, in power_allocator_bind()
717 params->trip_max->temperature); in power_allocator_bind()
719 reset_pid_controller(params); in power_allocator_bind()
721 tz->governor_data = params; in power_allocator_bind()
726 kfree(params->power); in power_allocator_bind()
727 kfree(params); in power_allocator_bind()
734 struct power_allocator_params *params = tz->governor_data; in power_allocator_unbind() local
738 if (params->allocated_tzp) { in power_allocator_unbind()
743 kfree(params->power); in power_allocator_unbind()
750 struct power_allocator_params *params = tz->governor_data; in power_allocator_manage() local
751 const struct thermal_trip *trip = params->trip_switch_on; in power_allocator_manage()
756 reset_pid_controller(params); in power_allocator_manage()
758 params->update_cdevs = false; in power_allocator_manage()
762 if (!params->trip_max) in power_allocator_manage()
765 allocate_power(tz, params->trip_max->temperature); in power_allocator_manage()
766 params->update_cdevs = true; in power_allocator_manage()