| /linux/drivers/devfreq/ | 
| H A D | devfreq.c | 3  * devfreq: Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework22 #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 …]
 
 | 
| H A D | governor_passive.c | 3  * linux/drivers/devfreq/governor_passive.c16 #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 …]
 
 | 
| H A D | governor.h | 3  * 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 …]
 
 | 
| H A D | Kconfig | 7 	  devfreq, a generic DVFS framework can be registered for a device8 	  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
 27 	  used with the devfreq device, you may use OPP helper
 [all …]
 
 | 
| H A D | governor_userspace.c | 3  *  linux/drivers/devfreq/governor_userspace.c11 #include <linux/devfreq.h>
 23 static int devfreq_userspace_func(struct devfreq *df, unsigned long *freq)  in devfreq_userspace_func()
 38 	struct devfreq *devfreq = to_devfreq(dev);  in set_freq_store()  local
 47 	mutex_lock(&devfreq->lock);  in set_freq_store()
 48 	data = devfreq->governor_data;  in set_freq_store()
 52 	err = update_devfreq(devfreq);  in set_freq_store()
 55 	mutex_unlock(&devfreq->lock);  in set_freq_store()
 62 	struct devfreq *devfreq = to_devfreq(dev);  in set_freq_show()  local
 66 	mutex_lock(&devfreq->lock);  in set_freq_show()
 [all …]
 
 | 
| H A D | tegra30-devfreq.c | 3  * A devfreq driver for NVIDIA Tegra SoCs11 #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 …]
 
 | 
| H A D | governor_powersave.c | 3  *  linux/drivers/devfreq/governor_powersave.c9 #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()
 61 MODULE_DESCRIPTION("DEVFREQ Powersave governor");
 
 | 
| H A D | governor_performance.c | 3  *  linux/drivers/devfreq/governor_performance.c9 #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()
 61 MODULE_DESCRIPTION("DEVFREQ Performance governor");
 
 | 
| H A D | governor_simpleondemand.c | 3  *  linux/drivers/devfreq/governor_simpleondemand.c11 #include <linux/devfreq.h>
 15 /* Default constants for DevFreq-Simple-Ondemand (DFSO) */
 18 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()
 [all …]
 
 | 
| /linux/drivers/gpu/drm/lima/ | 
| H A D | lima_devfreq.c | 9 #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 …]
 
 | 
| H A D | lima_devfreq.h | 7 #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/include/linux/ | 
| H A D | devfreq.h | 3  * devfreq: Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework18 /* 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 …]
 
 | 
| H A D | devfreq-event.h | 3  * devfreq-event: a framework to provide raw data and events of devfreq devices15  * 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 …]
 
 | 
| H A D | devfreq_cooling.h | 4  *                  devfreq13 #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/Documentation/ABI/testing/ | 
| H A D | sysfs-class-devfreq | 1 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 …]
 
 | 
| H A D | sysfs-class-devfreq-event | 1 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/Documentation/translations/zh_CN/doc-guide/ | 
| H A D | contributing.rst | 47   ./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/drivers/powercap/ | 
| H A D | dtpm_devfreq.c | 7  * The devfreq device combined with the energy model and the load can15 #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()
 56 	struct devfreq *devfreq = dtpm_devfreq->devfreq;  in set_pd_power_limit()  local
 57 	struct device *dev = devfreq->dev.parent;  in set_pd_power_limit()
 96 	struct devfreq *devfreq = dtpm_devfreq->devfreq;  in get_pd_power_uw()  local
 97 	struct device *dev = devfreq->dev.parent;  in get_pd_power_uw()
 105 	mutex_lock(&devfreq->lock);  in get_pd_power_uw()
 [all …]
 
 | 
| /linux/include/trace/events/ | 
| H A D | devfreq.h | 3 #define TRACE_SYSTEM devfreq8 #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))
 29 		__entry->busy_time = devfreq->last_status.busy_time;
 30 		__entry->total_time = devfreq->last_status.total_time;
 40 	TP_PROTO(struct devfreq *devfreq),
 [all...]
 | 
| /linux/drivers/thermal/ | 
| H A D | devfreq_cooling.c | 4  *                  devfreq9  *    - 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/drivers/devfreq/event/ | 
| H A D | Kconfig | 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"
 31 	  This add the devfreq-event driver for Exynos SoC. It provides PPMU
 [all …]
 
 | 
| /linux/drivers/gpu/drm/panthor/ | 
| H A D | panthor_devfreq.c | 5 #include <linux/devfreq.h>19 	/** @devfreq: devfreq device. */
 20 	struct devfreq *devfreq;  member
 92 	struct panthor_devfreq *pdevfreq = ptdev->devfreq;  in panthor_devfreq_get_dev_status()
 142 	pdevfreq = drmm_kzalloc(&ptdev->base, sizeof(*ptdev->devfreq), GFP_KERNEL);  in panthor_devfreq_init()
 146 	ptdev->devfreq = pdevfreq;  in panthor_devfreq_init()
 229 	pdevfreq->devfreq = devm_devfreq_add_device(dev, &panthor_devfreq_profile,  in panthor_devfreq_init()
 232 	if (IS_ERR(pdevfreq->devfreq)) {  in panthor_devfreq_init()
 233 		DRM_DEV_ERROR(dev, "Couldn't initialize GPU devfreq\n");  in panthor_devfreq_init()
 234 		ret = PTR_ERR(pdevfreq->devfreq);  in panthor_devfreq_init()
 [all …]
 
 | 
| /linux/Documentation/doc-guide/ | 
| H A D | contributing.rst | 58   ./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/Documentation/driver-api/ | 
| H A D | devfreq.rst | 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
 
 | 
| /linux/drivers/gpu/drm/panfrost/ | 
| H A D | panfrost_devfreq.h | 7 #include <linux/devfreq.h>11 struct devfreq;
 17 	struct devfreq *devfreq;  member
 42 void panfrost_devfreq_record_busy(struct panfrost_devfreq *devfreq);
 43 void panfrost_devfreq_record_idle(struct panfrost_devfreq *devfreq);
 
 |