Lines Matching +full:always +full:- +full:running

1 // SPDX-License-Identifier: GPL-2.0
21 * struct cpuidle_cooling_device - data for the idle cooling device
31 * cpuidle_cooling_runtime - Running time computation
35 * The running duration is computed from the idle injection duration
37 * means the running duration is zero. If we have a 50% ratio
39 * running duration.
43 * running = idle x ((100 / ratio) - 1)
47 * running = (idle x 100) / ratio - idle
50 * with 10ms of idle injection and 10ms of running duration.
60 return ((idle_duration_us * 100) / state) - idle_duration_us; in cpuidle_cooling_runtime()
64 * cpuidle_cooling_get_max_state - Get the maximum state
68 * The function always returns 100 as the injection ratio. It is
71 * Return: The function can not fail, it is always zero
77 * Depending on the configuration or the hardware, the running in cpuidle_cooling_get_max_state()
84 * means for 10ms of idle injection, we have 10ms of running in cpuidle_cooling_get_max_state()
93 * cpuidle_cooling_get_cur_state - Get the current cooling state
98 * cooling device structure, the mapping is 1 <-> 1.
100 * Return: The function can not fail, it is always zero
105 struct cpuidle_cooling_device *idle_cdev = cdev->devdata; in cpuidle_cooling_get_cur_state()
107 *state = idle_cdev->state; in cpuidle_cooling_get_cur_state()
113 * cpuidle_cooling_set_cur_state - Set the current cooling state
122 * Return: The function can not fail, it is always zero
127 struct cpuidle_cooling_device *idle_cdev = cdev->devdata; in cpuidle_cooling_set_cur_state()
128 struct idle_inject_device *ii_dev = idle_cdev->ii_dev; in cpuidle_cooling_set_cur_state()
129 unsigned long current_state = idle_cdev->state; in cpuidle_cooling_set_cur_state()
132 idle_cdev->state = state; in cpuidle_cooling_set_cur_state()
150 * cpuidle_cooling_ops - thermal cooling device ops
184 ret = -ENOMEM; in __cpuidle_cooling_register()
188 ii_dev = idle_inject_register(drv->cpumask); in __cpuidle_cooling_register()
190 ret = -EINVAL; in __cpuidle_cooling_register()
194 of_property_read_u32(np, "duration-us", &idle_duration_us); in __cpuidle_cooling_register()
195 of_property_read_u32(np, "exit-latency-us", &latency_us); in __cpuidle_cooling_register()
200 idle_cdev->ii_dev = ii_dev; in __cpuidle_cooling_register()
202 dev = get_cpu_device(cpumask_first(drv->cpumask)); in __cpuidle_cooling_register()
204 name = kasprintf(GFP_KERNEL, "idle-%s", dev_name(dev)); in __cpuidle_cooling_register()
206 ret = -ENOMEM; in __cpuidle_cooling_register()
235 * cpuidle_cooling_register - Idle cooling device initialization function
247 for_each_cpu(cpu, drv->cpumask) { in cpuidle_cooling_register()
251 cooling_node = of_get_child_by_name(cpu_node, "thermal-idle"); in cpuidle_cooling_register()
256 pr_debug("'thermal-idle' node not found for cpu%d\n", cpu); in cpuidle_cooling_register()