Home
last modified time | relevance | path

Searched refs:devfreq (Results 1 – 25 of 54) sorted by relevance

123

/Linux-v5.15/drivers/devfreq/
Ddevfreq.c67 static struct devfreq *find_device_devfreq(struct device *dev) in find_device_devfreq()
69 struct devfreq *tmp_devfreq; in find_device_devfreq()
86 static unsigned long find_available_min_freq(struct devfreq *devfreq) in find_available_min_freq() argument
91 opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &min_freq); in find_available_min_freq()
100 static unsigned long find_available_max_freq(struct devfreq *devfreq) in find_available_max_freq() argument
105 opp = dev_pm_opp_find_freq_floor(devfreq->dev.parent, &max_freq); in find_available_max_freq()
122 static void get_freq_range(struct devfreq *devfreq, in get_freq_range() argument
126 unsigned long *freq_table = devfreq->profile->freq_table; in get_freq_range()
129 lockdep_assert_held(&devfreq->lock); in get_freq_range()
136 if (freq_table[0] < freq_table[devfreq->profile->max_state - 1]) { in get_freq_range()
[all …]
Dgovernor_passive.c15 static int devfreq_passive_get_target_freq(struct devfreq *devfreq, in devfreq_passive_get_target_freq() argument
19 = (struct devfreq_passive_data *)devfreq->data; in devfreq_passive_get_target_freq()
20 struct devfreq *parent_devfreq = (struct devfreq *)p_data->parent; in devfreq_passive_get_target_freq()
31 return p_data->get_target_freq(devfreq, freq); in devfreq_passive_get_target_freq()
48 if (!devfreq->profile || !devfreq->profile->freq_table in devfreq_passive_get_target_freq()
49 || devfreq->profile->max_state <= 0) in devfreq_passive_get_target_freq()
57 if (devfreq->opp_table && parent_devfreq->opp_table) { in devfreq_passive_get_target_freq()
64 devfreq->opp_table, p_opp); in devfreq_passive_get_target_freq()
89 if (i < devfreq->profile->max_state) { in devfreq_passive_get_target_freq()
90 child_freq = devfreq->profile->freq_table[i]; in devfreq_passive_get_target_freq()
[all …]
Dgovernor_userspace.c22 static int devfreq_userspace_func(struct devfreq *df, unsigned long *freq) in devfreq_userspace_func()
37 struct devfreq *devfreq = to_devfreq(dev); in set_freq_store() local
42 mutex_lock(&devfreq->lock); in set_freq_store()
43 data = devfreq->data; in set_freq_store()
48 err = update_devfreq(devfreq); in set_freq_store()
51 mutex_unlock(&devfreq->lock); in set_freq_store()
58 struct devfreq *devfreq = to_devfreq(dev); in set_freq_show() local
62 mutex_lock(&devfreq->lock); in set_freq_show()
63 data = devfreq->data; in set_freq_show()
69 mutex_unlock(&devfreq->lock); in set_freq_show()
[all …]
Dgovernor.h18 #define to_devfreq(DEV) container_of((DEV), struct devfreq, dev)
73 int (*get_target_freq)(struct devfreq *this, unsigned long *freq);
74 int (*event_handler)(struct devfreq *devfreq,
78 void devfreq_monitor_start(struct devfreq *devfreq);
79 void devfreq_monitor_stop(struct devfreq *devfreq);
80 void devfreq_monitor_suspend(struct devfreq *devfreq);
81 void devfreq_monitor_resume(struct devfreq *devfreq);
82 void devfreq_update_interval(struct devfreq *devfreq, unsigned int *delay);
87 int devfreq_update_status(struct devfreq *devfreq, unsigned long freq);
88 int devfreq_update_target(struct devfreq *devfreq, unsigned long freq);
[all …]
Dtegra30-devfreq.c180 struct devfreq *devfreq; member
256 u32 band = avg_band_freq * tegra->devfreq->profile->polling_ms; in tegra_devfreq_update_avg_wmark()
269 u32 val = tegra->cur_freq * tegra->devfreq->profile->polling_ms; in tegra_devfreq_update_wmark()
348 target_freq = dev->avg_count / tegra->devfreq->profile->polling_ms; in actmon_device_target_freq()
382 mutex_lock(&tegra->devfreq->lock); in actmon_thread_isr()
393 update_devfreq(tegra->devfreq); in actmon_thread_isr()
395 mutex_unlock(&tegra->devfreq->lock); in actmon_thread_isr()
429 mutex_lock(&tegra->devfreq->lock); in tegra_actmon_delayed_update()
430 update_devfreq(tegra->devfreq); in tegra_actmon_delayed_update()
431 mutex_unlock(&tegra->devfreq->lock); in tegra_actmon_delayed_update()
[all …]
Dgovernor_powersave.c13 static int devfreq_powersave_func(struct devfreq *df, in devfreq_powersave_func()
24 static int devfreq_powersave_handler(struct devfreq *devfreq, in devfreq_powersave_handler() argument
30 mutex_lock(&devfreq->lock); in devfreq_powersave_handler()
31 ret = update_devfreq(devfreq); in devfreq_powersave_handler()
32 mutex_unlock(&devfreq->lock); in devfreq_powersave_handler()
Dgovernor_performance.c13 static int devfreq_performance_func(struct devfreq *df, in devfreq_performance_func()
24 static int devfreq_performance_handler(struct devfreq *devfreq, in devfreq_performance_handler() argument
30 mutex_lock(&devfreq->lock); in devfreq_performance_handler()
31 ret = update_devfreq(devfreq); in devfreq_performance_handler()
32 mutex_unlock(&devfreq->lock); in devfreq_performance_handler()
Dgovernor_simpleondemand.c18 static int devfreq_simple_ondemand_func(struct devfreq *df, in devfreq_simple_ondemand_func()
87 static int devfreq_simple_ondemand_handler(struct devfreq *devfreq, in devfreq_simple_ondemand_handler() argument
92 devfreq_monitor_start(devfreq); in devfreq_simple_ondemand_handler()
96 devfreq_monitor_stop(devfreq); in devfreq_simple_ondemand_handler()
100 devfreq_update_interval(devfreq, (unsigned int *)data); in devfreq_simple_ondemand_handler()
104 devfreq_monitor_suspend(devfreq); in devfreq_simple_ondemand_handler()
108 devfreq_monitor_resume(devfreq); in devfreq_simple_ondemand_handler()
Dexynos-bus.c29 struct devfreq *devfreq; member
315 bus->devfreq = devm_devfreq_add_device(dev, profile, in exynos_bus_profile_init()
318 if (IS_ERR(bus->devfreq)) { in exynos_bus_profile_init()
320 return PTR_ERR(bus->devfreq); in exynos_bus_profile_init()
324 ret = devm_devfreq_register_opp_notifier(dev, bus->devfreq); in exynos_bus_profile_init()
360 struct devfreq *parent_devfreq; in exynos_bus_profile_init_passive()
378 bus->devfreq = devm_devfreq_add_device(dev, profile, DEVFREQ_GOV_PASSIVE, in exynos_bus_profile_init_passive()
380 if (IS_ERR(bus->devfreq)) { in exynos_bus_profile_init_passive()
383 return PTR_ERR(bus->devfreq); in exynos_bus_profile_init_passive()
450 max_state = bus->devfreq->profile->max_state; in exynos_bus_probe()
[all …]
DKconfig8 devfreq, a generic DVFS framework can be registered for a device
9 in order to let the governor provided to devfreq choose an
14 notification to "nb", a notifier block, of devfreq.
18 determined by the single device's state, an instance of devfreq
21 to a device by 1-to-1. The device registering devfreq takes the
24 given to devfreq.
26 When OPP is used with the devfreq device, it is recommended to
27 register devfreq's nb to the OPP's notifier head. If OPP is
28 used with the devfreq device, you may use OPP helper
29 functions defined in devfreq.h.
[all …]
/Linux-v5.15/drivers/gpu/drm/lima/
Dlima_devfreq.c19 static void lima_devfreq_update_utilization(struct lima_devfreq *devfreq) in lima_devfreq_update_utilization() argument
24 last = devfreq->time_last_update; in lima_devfreq_update_utilization()
26 if (devfreq->busy_count > 0) in lima_devfreq_update_utilization()
27 devfreq->busy_time += ktime_sub(now, last); in lima_devfreq_update_utilization()
29 devfreq->idle_time += ktime_sub(now, last); in lima_devfreq_update_utilization()
31 devfreq->time_last_update = now; in lima_devfreq_update_utilization()
47 static void lima_devfreq_reset(struct lima_devfreq *devfreq) in lima_devfreq_reset() argument
49 devfreq->busy_time = 0; in lima_devfreq_reset()
50 devfreq->idle_time = 0; in lima_devfreq_reset()
51 devfreq->time_last_update = ktime_get(); in lima_devfreq_reset()
[all …]
Dlima_devfreq.h11 struct devfreq;
17 struct devfreq *devfreq; member
36 void lima_devfreq_record_busy(struct lima_devfreq *devfreq);
37 void lima_devfreq_record_idle(struct lima_devfreq *devfreq);
39 int lima_devfreq_resume(struct lima_devfreq *devfreq);
40 int lima_devfreq_suspend(struct lima_devfreq *devfreq);
/Linux-v5.15/include/linux/
Ddevfreq.h39 struct devfreq;
176 struct devfreq { struct
220 struct devfreq *devfreq_add_device(struct device *dev, argument
224 int devfreq_remove_device(struct devfreq *devfreq);
225 struct devfreq *devm_devfreq_add_device(struct device *dev,
229 void devm_devfreq_remove_device(struct device *dev, struct devfreq *devfreq);
232 int devfreq_suspend_device(struct devfreq *devfreq);
233 int devfreq_resume_device(struct devfreq *devfreq);
239 int update_devfreq(struct devfreq *devfreq);
245 struct devfreq *devfreq);
[all …]
Ddevfreq_cooling.h38 int (*get_real_power)(struct devfreq *df, u32 *power,
45 of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
48 of_devfreq_cooling_register(struct device_node *np, struct devfreq *df);
49 struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df);
52 devfreq_cooling_em_register(struct devfreq *df,
58 of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, in of_devfreq_cooling_register_power()
65 of_devfreq_cooling_register(struct device_node *np, struct devfreq *df) in of_devfreq_cooling_register()
71 devfreq_cooling_register(struct devfreq *df) in devfreq_cooling_register()
77 devfreq_cooling_em_register(struct devfreq *df, in devfreq_cooling_em_register()
/Linux-v5.15/Documentation/translations/zh_CN/doc-guide/
Dcontributing.rst47 ./drivers/devfreq/devfreq.c:1818: warning: bad line:
49 ./drivers/devfreq/devfreq.c:1854: warning: bad line:
59 * @dev: The devfreq user device. (parent of devfreq)
60 * @devfreq: The devfreq object.
70 [PATCH] PM / devfreq: Fix two malformed kerneldoc comments
72 Two kerneldoc comments in devfreq.c fail to adhere to the required format,
75 ./drivers/devfreq/devfreq.c:1818: warning: bad line:
77 ./drivers/devfreq/devfreq.c:1854: warning: bad line:
84 drivers/devfreq/devfreq.c | 4 ++--
87 diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
[all …]
/Linux-v5.15/drivers/gpu/drm/msm/
Dmsm_gpu_devfreq.c29 if (gpu->devfreq.idle_freq) { in msm_devfreq_target()
30 gpu->devfreq.idle_freq = *freq; in msm_devfreq_target()
51 if (gpu->devfreq.idle_freq) in get_freq()
52 return gpu->devfreq.idle_freq; in get_freq()
70 status->total_time = ktime_us_delta(time, gpu->devfreq.time); in msm_devfreq_get_dev_status()
71 gpu->devfreq.time = time; in msm_devfreq_get_dev_status()
108 gpu->devfreq.devfreq = devm_devfreq_add_device(&gpu->pdev->dev, in msm_devfreq_init()
112 if (IS_ERR(gpu->devfreq.devfreq)) { in msm_devfreq_init()
114 gpu->devfreq.devfreq = NULL; in msm_devfreq_init()
118 devfreq_suspend_device(gpu->devfreq.devfreq); in msm_devfreq_init()
[all …]
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-class-devfreq1 What: /sys/class/devfreq/.../
5 Provide a place in sysfs for the devfreq objects.
6 This allows accessing various devfreq specific variables.
7 The name of devfreq object denoted as ... is same as the
8 name of device using devfreq.
10 What: /sys/class/devfreq/.../name
14 The /sys/class/devfreq/.../name shows the name of device
15 of the corresponding devfreq object.
17 What: /sys/class/devfreq/.../governor
21 The /sys/class/devfreq/.../governor show or set the name of the
[all …]
Dsysfs-class-devfreq-event1 What: /sys/class/devfreq-event/event(x)/
5 Provide a place in sysfs for the devfreq-event objects.
6 This allows accessing various devfreq-event specific variables.
7 The name of devfreq-event object denoted as 'event(x)' which
8 includes the unique number of 'x' for each devfreq-event object.
10 What: /sys/class/devfreq-event/event(x)/name
14 The /sys/class/devfreq-event/event(x)/name attribute contains
15 the name of the devfreq-event object. This attribute is
18 What: /sys/class/devfreq-event/event(x)/enable_count
22 The /sys/class/devfreq-event/event(x)/enable_count attribute
[all …]
/Linux-v5.15/include/trace/events/
Ddevfreq.h3 #define TRACE_SYSTEM devfreq
12 TP_PROTO(struct devfreq *devfreq, unsigned long freq,
15 TP_ARGS(devfreq, freq, prev_freq),
18 __string(dev_name, dev_name(&devfreq->dev))
26 __assign_str(dev_name, dev_name(&devfreq->dev));
29 __entry->busy_time = devfreq->last_status.busy_time;
30 __entry->total_time = devfreq->last_status.total_time;
40 TP_PROTO(struct devfreq *devfreq),
42 TP_ARGS(devfreq),
49 __string(dev_name, dev_name(&devfreq->dev))
[all …]
/Linux-v5.15/drivers/gpu/drm/panfrost/
Dpanfrost_devfreq.c91 struct devfreq *devfreq; in panfrost_devfreq_init() local
144 devfreq = devm_devfreq_add_device(dev, &panfrost_devfreq_profile, in panfrost_devfreq_init()
147 if (IS_ERR(devfreq)) { in panfrost_devfreq_init()
149 return PTR_ERR(devfreq); in panfrost_devfreq_init()
151 pfdevfreq->devfreq = devfreq; in panfrost_devfreq_init()
153 cooling = devfreq_cooling_em_register(devfreq, NULL); in panfrost_devfreq_init()
176 if (!pfdevfreq->devfreq) in panfrost_devfreq_resume()
181 devfreq_resume_device(pfdevfreq->devfreq); in panfrost_devfreq_resume()
188 if (!pfdevfreq->devfreq) in panfrost_devfreq_suspend()
191 devfreq_suspend_device(pfdevfreq->devfreq); in panfrost_devfreq_suspend()
[all …]
Dpanfrost_devfreq.h11 struct devfreq;
17 struct devfreq *devfreq; member
39 void panfrost_devfreq_record_busy(struct panfrost_devfreq *devfreq);
40 void panfrost_devfreq_record_idle(struct panfrost_devfreq *devfreq);
/Linux-v5.15/Documentation/driver-api/
Ddevfreq.rst23 :c:func:`devfreq_add_device` function to create a :c:type:`devfreq` instance.
25 .. kernel-doc:: include/linux/devfreq.h
26 .. kernel-doc:: include/linux/devfreq-event.h
27 .. kernel-doc:: drivers/devfreq/devfreq.c
29 .. kernel-doc:: drivers/devfreq/devfreq-event.c
/Linux-v5.15/drivers/thermal/
Ddevfreq_cooling.c51 struct devfreq *devfreq; member
86 struct devfreq *df = dfc->devfreq; in devfreq_cooling_set_cur_state()
134 static unsigned long get_voltage(struct devfreq *df, unsigned long freq) in get_voltage()
180 struct devfreq *df = dfc->devfreq; in devfreq_cooling_get_requested_power()
255 struct devfreq *df = dfc->devfreq; in devfreq_cooling_power2state()
313 struct devfreq *df = dfc->devfreq; in devfreq_cooling_gen_tables()
355 of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, in of_devfreq_cooling_register_power()
368 dfc->devfreq = df; in of_devfreq_cooling_register_power()
444 of_devfreq_cooling_register(struct device_node *np, struct devfreq *df) in of_devfreq_cooling_register()
454 struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df) in devfreq_cooling_register()
[all …]
/Linux-v5.15/drivers/devfreq/event/
DKconfig5 The devfreq-event device provide the raw data and events which
6 indicate the current state of devfreq-event device. The provided
7 data from devfreq-event device is used to monitor the state of
11 The devfreq-event device can support the various type of events
13 may be used by devfreq governor and other subsystem.
23 This add the devfreq-event driver for Exynos SoC. It provides NoC
31 This add the devfreq-event driver for Exynos SoC. It provides PPMU
39 This add the devfreq-event driver for Rockchip SoC. It provides DFI
/Linux-v5.15/Documentation/doc-guide/
Dcontributing.rst58 ./drivers/devfreq/devfreq.c:1818: warning: bad line:
60 ./drivers/devfreq/devfreq.c:1854: warning: bad line:
71 * @dev: The devfreq user device. (parent of devfreq)
72 * @devfreq: The devfreq object.
85 [PATCH] PM / devfreq: Fix two malformed kerneldoc comments
87 Two kerneldoc comments in devfreq.c fail to adhere to the required format,
90 ./drivers/devfreq/devfreq.c:1818: warning: bad line:
92 ./drivers/devfreq/devfreq.c:1854: warning: bad line:
99 drivers/devfreq/devfreq.c | 4 ++--
102 diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
[all …]

123