Home
last modified time | relevance | path

Searched +full:devfreq +full:- +full:event (Results 1 – 25 of 77) sorted by relevance

1234

/kernel/linux/linux-5.10/drivers/devfreq/
Ddevfreq-event.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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.
[all …]
Dexynos-bus.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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>
28 struct devfreq *devfreq; member
41 * Control the devfreq-event device to get the current state of bus
48 for (i = 0; i < bus->edev_count; i++) { \
49 if (!bus->edev[i]) \
51 ret = devfreq_event_##ops(bus->edev[i]); \
[all …]
Dgovernor_passive.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * linux/drivers/devfreq/governor_passive.c
12 #include <linux/devfreq.h>
15 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()
26 * If the devfreq device with passive governor has the specific method in devfreq_passive_get_target_freq()
30 if (p_data->get_target_freq) { in devfreq_passive_get_target_freq()
31 ret = p_data->get_target_freq(devfreq, freq); in devfreq_passive_get_target_freq()
36 * If the parent and passive devfreq device uses the OPP table, in devfreq_passive_get_target_freq()
[all …]
Dgovernor_userspace.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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()
24 struct userspace_data *data = df->governor_data; in devfreq_userspace_func()
26 if (data->valid) in devfreq_userspace_func()
27 *freq = data->user_frequency; in devfreq_userspace_func()
29 *freq = df->previous_freq; /* No user freq specified yet */ in devfreq_userspace_func()
37 struct devfreq *devfreq = to_devfreq(dev); in store_freq() local
42 mutex_lock(&devfreq->lock); in store_freq()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
8 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
[all …]
Dgovernor_performance.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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
25 unsigned int event, void *data) in devfreq_performance_handler() argument
29 if (event == DEVFREQ_GOV_START) { in devfreq_performance_handler()
30 mutex_lock(&devfreq->lock); in devfreq_performance_handler()
31 ret = update_devfreq(devfreq); in devfreq_performance_handler()
[all …]
Dgovernor_powersave.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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
25 unsigned int event, void *data) in devfreq_powersave_handler() argument
29 if (event == DEVFREQ_GOV_START) { in devfreq_powersave_handler()
30 mutex_lock(&devfreq->lock); in devfreq_powersave_handler()
31 ret = update_devfreq(devfreq); in devfreq_powersave_handler()
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0
2 obj-$(CONFIG_PM_DEVFREQ) += devfreq.o
3 obj-$(CONFIG_PM_DEVFREQ_EVENT) += devfreq-event.o
4 obj-$(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND) += governor_simpleondemand.o
5 obj-$(CONFIG_DEVFREQ_GOV_PERFORMANCE) += governor_performance.o
6 obj-$(CONFIG_DEVFREQ_GOV_POWERSAVE) += governor_powersave.o
7 obj-$(CONFIG_DEVFREQ_GOV_USERSPACE) += governor_userspace.o
8 obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) += governor_passive.o
10 # DEVFREQ Drivers
11 obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += exynos-bus.o
[all …]
Dgovernor.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * governor.h - internal header for devfreq governors.
8 * This header is for devfreq governors in drivers/devfreq/
14 #include <linux/devfreq.h>
16 #define to_devfreq(DEV) container_of((DEV), struct devfreq, dev)
18 /* Devfreq events */
29 * struct devfreq_governor - Devfreq policy governor
30 * @node: list node - contains registered devfreq governors
34 * @interrupt_driven: Devfreq core won't schedule polling work for this
42 * @event_handler: Callback for devfreq core framework to notify events
[all …]
/kernel/linux/linux-6.6/drivers/devfreq/
Ddevfreq-event.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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.
[all …]
Dexynos-bus.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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
49 for (i = 0; i < bus->edev_count; i++) { \
50 if (!bus->edev[i]) \
52 ret = devfreq_event_##ops(bus->edev[i]); \
[all …]
Dgovernor_passive.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * linux/drivers/devfreq/governor_passive.c
16 #include <linux/devfreq.h>
29 list_for_each_entry(parent_cpu_data, &p_data->cpu_data_list, node) in get_parent_cpu_data()
30 if (parent_cpu_data->first_cpu == cpumask_first(policy->related_cpus)) in get_parent_cpu_data()
40 list_for_each_entry_safe(parent_cpu_data, tmp, &p_data->cpu_data_list, node) { in delete_parent_cpu_data()
41 list_del(&parent_cpu_data->node); in delete_parent_cpu_data()
43 if (parent_cpu_data->opp_table) in delete_parent_cpu_data()
44 dev_pm_opp_put_opp_table(parent_cpu_data->opp_table); in delete_parent_cpu_data()
77 static int get_target_freq_with_cpufreq(struct devfreq *devfreq, in get_target_freq_with_cpufreq() argument
[all …]
Dgovernor_userspace.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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()
24 struct userspace_data *data = df->governor_data; in devfreq_userspace_func()
26 if (data->valid) in devfreq_userspace_func()
27 *freq = data->user_frequency; in devfreq_userspace_func()
29 *freq = df->previous_freq; /* No user freq specified yet */ 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()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 devfreq, a generic DVFS framework can be registered for a device
8 in order to let the governor provided to devfreq choose an
11 Each device may have its own governor and policy. Devfreq can
13 notification to "nb", a notifier block, of devfreq.
17 determined by the single device's state, an instance of devfreq
20 to a device by 1-to-1. The device registering devfreq takes the
23 given to devfreq.
25 When OPP is used with the devfreq device, it is recommended to
26 register devfreq's nb to the OPP's notifier head. If OPP is
[all …]
Dgovernor_powersave.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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
25 unsigned int event, void *data) in devfreq_powersave_handler() argument
29 if (event == DEVFREQ_GOV_START) { in devfreq_powersave_handler()
30 mutex_lock(&devfreq->lock); in devfreq_powersave_handler()
31 ret = update_devfreq(devfreq); in devfreq_powersave_handler()
[all …]
Dgovernor_performance.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * 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
25 unsigned int event, void *data) in devfreq_performance_handler() argument
29 if (event == DEVFREQ_GOV_START) { in devfreq_performance_handler()
30 mutex_lock(&devfreq->lock); in devfreq_performance_handler()
31 ret = update_devfreq(devfreq); in devfreq_performance_handler()
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0
2 obj-$(CONFIG_PM_DEVFREQ) += devfreq.o
3 obj-$(CONFIG_PM_DEVFREQ_EVENT) += devfreq-event.o
4 obj-$(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND) += governor_simpleondemand.o
5 obj-$(CONFIG_DEVFREQ_GOV_PERFORMANCE) += governor_performance.o
6 obj-$(CONFIG_DEVFREQ_GOV_POWERSAVE) += governor_powersave.o
7 obj-$(CONFIG_DEVFREQ_GOV_USERSPACE) += governor_userspace.o
8 obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) += governor_passive.o
10 # DEVFREQ Drivers
11 obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += exynos-bus.o
[all …]
/kernel/linux/linux-6.6/include/linux/
Ddevfreq-event.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * 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
[all …]
/kernel/linux/linux-5.10/include/linux/
Ddevfreq-event.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * 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
[all …]
/kernel/linux/linux-6.6/Documentation/ABI/testing/
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
16 read-only.
18 What: /sys/class/devfreq-event/event<x>/enable_count
[all …]
/kernel/linux/linux-5.10/Documentation/ABI/testing/
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
16 read-only.
18 What: /sys/class/devfreq-event/event(x)/enable_count
[all …]
/kernel/linux/linux-5.10/drivers/devfreq/event/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 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"
[all …]
/kernel/linux/linux-6.6/drivers/devfreq/event/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 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"
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/
Ddevfreq.rst1 .. SPDX-License-Identifier: GPL-2.0
8 ------------
20 ---
23 :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
/kernel/linux/linux-6.6/Documentation/driver-api/
Ddevfreq.rst1 .. SPDX-License-Identifier: GPL-2.0
8 ------------
20 ---
23 :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

1234