Home
last modified time | relevance | path

Searched full:devfreq (Results 1 – 25 of 79) sorted by relevance

1234

/Linux-v6.1/drivers/devfreq/
Ddevfreq.c3 * devfreq: Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework
22 #include <linux/devfreq.h>
34 #include <trace/events/devfreq.h>
43 * devfreq core provides delayed work based load monitoring helper
49 /* The list of all device-devfreq governors */
51 /* The list of all device-devfreq */
61 * find_device_devfreq() - find devfreq struct using device pointer
62 * @dev: device pointer used to lookup device devfreq.
65 * devfreq info. devfreq_list_lock should be held by the caller.
67 static struct devfreq *find_device_devfreq(struct device *dev) in find_device_devfreq()
[all …]
Dgovernor_passive.c3 * linux/drivers/devfreq/governor_passive.c
16 #include <linux/devfreq.h>
77 static int get_target_freq_with_cpufreq(struct devfreq *devfreq, in get_target_freq_with_cpufreq() argument
81 (struct devfreq_passive_data *)devfreq->data; in get_target_freq_with_cpufreq()
106 devfreq->opp_table, &cpu_cur); in get_target_freq_with_cpufreq()
114 devfreq_get_freq_range(devfreq, &dev_min, &dev_max); in get_target_freq_with_cpufreq()
130 static int get_target_freq_with_devfreq(struct devfreq *devfreq, in get_target_freq_with_devfreq() argument
134 = (struct devfreq_passive_data *)devfreq->data; in get_target_freq_with_devfreq()
135 struct devfreq *parent_devfreq = (struct devfreq *)p_data->parent; in get_target_freq_with_devfreq()
142 devfreq->opp_table, freq); in get_target_freq_with_devfreq()
[all …]
Dgovernor.h3 * governor.h - internal header for devfreq governors.
8 * This header is for devfreq governors in drivers/devfreq/
14 #include <linux/devfreq.h>
18 #define to_devfreq(DEV) container_of((DEV), struct devfreq, dev)
20 /* Devfreq events */
35 * : The devfreq won't schedule the work for this governor.
76 * struct devfreq_governor - Devfreq policy governor
77 * @node: list node - contains registered devfreq governors
85 * @event_handler: Callback for devfreq core framework to notify events
87 * init and exit, opp changes out of devfreq, suspend
[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
12 Each device may have its own governor and policy. Devfreq can
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
[all …]
Dgovernor_userspace.c3 * linux/drivers/devfreq/governor_userspace.c
11 #include <linux/devfreq.h>
22 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()
[all …]
Ddevfreq-event.c3 * devfreq-event: a framework to provide raw data and events of devfreq devices
8 * This driver is based on drivers/devfreq/devfreq.c.
11 #include <linux/devfreq-event.h>
22 /* The list of all devfreq event list */
29 * devfreq_event_enable_edev() - Enable the devfreq-event dev and increase
30 * the enable_count of devfreq-event dev.
31 * @edev : the devfreq-event device
34 * devfreq-event device. The devfreq-event device should be enabled before
35 * using it by devfreq device.
60 * devfreq_event_disable_edev() - Disable the devfreq-event dev and decrease
[all …]
Dexynos-bus.c3 * Generic Exynos Bus frequency driver with DEVFREQ Framework
9 * DEVFREQ framework and is based on drivers/devfreq/exynos/exynos4_bus.c.
13 #include <linux/devfreq.h>
14 #include <linux/devfreq-event.h>
29 struct devfreq *devfreq; member
42 * Control the devfreq-event device to get the current state of bus
91 * devfreq function for both simple-ondemand and passive governor
130 dev_err(dev, "failed to get event from devfreq-event devices\n"); in exynos_bus_get_dev_status()
138 dev_dbg(dev, "Usage of devfreq-event : %lu/%lu\n", stat->busy_time, in exynos_bus_get_dev_status()
144 dev_err(dev, "failed to set event to devfreq-event devices\n"); in exynos_bus_get_dev_status()
[all …]
Dtegra30-devfreq.c3 * A devfreq driver for NVIDIA Tegra SoCs
11 #include <linux/devfreq.h>
180 struct devfreq *devfreq; member
255 u32 band = avg_band_freq * tegra->devfreq->profile->polling_ms; in tegra_devfreq_update_avg_wmark()
268 u32 val = tegra->cur_freq * tegra->devfreq->profile->polling_ms; in tegra_devfreq_update_wmark()
347 target_freq = dev->avg_count / tegra->devfreq->profile->polling_ms; in actmon_device_target_freq()
381 mutex_lock(&tegra->devfreq->lock); in actmon_thread_isr()
392 update_devfreq(tegra->devfreq); in actmon_thread_isr()
394 mutex_unlock(&tegra->devfreq->lock); in actmon_thread_isr()
428 mutex_lock(&tegra->devfreq->lock); in tegra_actmon_delayed_update()
[all …]
Dgovernor_performance.c3 * linux/drivers/devfreq/governor_performance.c
9 #include <linux/devfreq.h>
13 static int devfreq_performance_func(struct devfreq *df, in devfreq_performance_func()
18 * said in devfreq.h 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_powersave.c3 * linux/drivers/devfreq/governor_powersave.c
9 #include <linux/devfreq.h>
13 static int devfreq_powersave_func(struct devfreq *df, in devfreq_powersave_func()
18 * said in devfreq.h 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()
/Linux-v6.1/drivers/gpu/drm/lima/
Dlima_devfreq.c9 #include <linux/devfreq.h>
19 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()
[all …]
Dlima_devfreq.h7 #include <linux/devfreq.h>
11 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-v6.1/include/linux/
Ddevfreq.h3 * devfreq: Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework
18 /* DEVFREQ governor name */
25 /* DEVFREQ notifier interface */
32 /* DEVFREQ work timers */
39 struct devfreq;
45 * struct devfreq_dev_status - Data given from devfreq user device to
53 * @private_data: An entry not specified by the devfreq framework.
76 * struct devfreq_dev_profile - Devfreq's user device profile
89 * status to devfreq. Governors are recommended not to
92 * devfreq.last_status.
[all …]
Ddevfreq-event.h3 * devfreq-event: a framework to provide raw data and events of devfreq devices
15 * struct devfreq_event_dev - the devfreq-event device
17 * @node : Contain the devfreq-event device that have been registered.
18 * @dev : the device registered by devfreq-event class. dev.parent is
19 * the device using devfreq-event.
20 * @lock : a mutex to protect accessing devfreq-event.
22 * @desc : the description for devfreq-event device.
24 * This structure contains devfreq-event device information.
37 * struct devfreq_event_data - the devfreq-event data
39 * @load_count : load count of devfreq-event device for the given period.
[all …]
Ddevfreq_cooling.h4 * devfreq
13 #include <linux/devfreq.h>
18 * struct devfreq_cooling_power - Devfreq cooling power ops
29 * devfreq 'last_status').
38 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()
[all …]
/Linux-v6.1/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-v6.1/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-v6.1/drivers/powercap/
Ddtpm_devfreq.c7 * The devfreq device combined with the energy model and the load can
15 #include <linux/devfreq.h>
26 struct devfreq *devfreq; member
37 struct devfreq *devfreq = dtpm_devfreq->devfreq; in update_pd_power_uw() local
38 struct device *dev = devfreq->dev.parent; in update_pd_power_uw()
53 struct devfreq *devfreq = dtpm_devfreq->devfreq; in set_pd_power_limit() local
54 struct device *dev = devfreq->dev.parent; in set_pd_power_limit()
93 struct devfreq *devfreq = dtpm_devfreq->devfreq; in get_pd_power_uw() local
94 struct device *dev = devfreq->dev.parent; in get_pd_power_uw()
101 mutex_lock(&devfreq->lock); in get_pd_power_uw()
[all …]
/Linux-v6.1/include/trace/events/
Ddevfreq.h3 #define TRACE_SYSTEM devfreq
8 #include <linux/devfreq.h>
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),
[all …]
/Linux-v6.1/drivers/thermal/
Ddevfreq_cooling.c4 * devfreq
9 * - If OPPs are added or removed after devfreq cooling has
10 * registered, the devfreq cooling won't react to it.
13 #include <linux/devfreq.h>
28 * struct devfreq_cooling_device - Devfreq cooling device
31 * @cooling_ops: devfreq callbacks to thermal cooling device ops
32 * @devfreq: Pointer to associated devfreq device.
47 * of the devfreq device.
48 * @em_pd: Energy Model for the associated Devfreq device
53 struct devfreq *devfreq; member
[all …]
/Linux-v6.1/drivers/devfreq/event/
DKconfig3 bool "DEVFREQ-Event device Support"
5 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.
18 tristate "Exynos NoC (Network On Chip) Probe DEVFREQ event Driver"
23 This add the devfreq-event driver for Exynos SoC. It provides NoC
27 tristate "Exynos PPMU (Platform Performance Monitoring Unit) DEVFREQ event Driver"
31 This add the devfreq-event driver for Exynos SoC. It provides PPMU
[all …]
/Linux-v6.1/drivers/gpu/drm/msm/
Dmsm_gpu_devfreq.c10 #include <linux/devfreq.h>
23 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_target()
60 struct msm_gpu_devfreq *df = &gpu->devfreq; in get_raw_dev_status()
95 struct msm_gpu_devfreq *df = &gpu->devfreq; in update_average_dev_status()
96 const u32 polling_ms = df->devfreq->profile->polling_ms; in update_average_dev_status()
154 *status = gpu->devfreq.average_status; in msm_devfreq_get_dev_status()
179 struct msm_gpu_devfreq *df = &gpu->devfreq; in has_devfreq()
180 return !!df->devfreq; in has_devfreq()
185 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_init()
187 /* We need target support to do devfreq */ in msm_devfreq_init()
[all …]
/Linux-v6.1/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.
86 [PATCH] PM / devfreq: Fix two malformed kerneldoc comments
88 Two kerneldoc comments in devfreq.c fail to adhere to the required format,
91 ./drivers/devfreq/devfreq.c:1818: warning: bad line:
93 ./drivers/devfreq/devfreq.c:1854: warning: bad line:
100 drivers/devfreq/devfreq.c | 4 ++--
103 diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
[all …]
/Linux-v6.1/drivers/gpu/drm/panfrost/
Dpanfrost_devfreq.c5 #include <linux/devfreq.h>
91 struct devfreq *devfreq; in panfrost_devfreq_init() local
98 * continue without devfreq in panfrost_devfreq_init()
116 /* Optional, continue without devfreq */ in panfrost_devfreq_init()
154 devfreq = devm_devfreq_add_device(dev, &panfrost_devfreq_profile, in panfrost_devfreq_init()
157 if (IS_ERR(devfreq)) { in panfrost_devfreq_init()
158 DRM_DEV_ERROR(dev, "Couldn't initialize GPU devfreq\n"); in panfrost_devfreq_init()
159 return PTR_ERR(devfreq); in panfrost_devfreq_init()
161 pfdevfreq->devfreq = devfreq; in panfrost_devfreq_init()
163 cooling = devfreq_cooling_em_register(devfreq, NULL); in panfrost_devfreq_init()
[all …]

1234