mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
cpuquiet: Add notifiers for the runnables governor
The governor stops sampling whenever the device is busy and starts its sampling loop when the device is free. Change-Id: Ifdae4a84e56c2734be48e49f6112b537602a02da Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com> Reviewed-on: http://git-master/r/124680 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
This commit is contained in:
committed by
Huang, Tao
parent
79d853800e
commit
14d64ba7d1
@@ -186,6 +186,22 @@ static int runnables_sysfs(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
static void runnables_device_busy(void)
|
||||
{
|
||||
if (runnables_state != DISABLED) {
|
||||
runnables_state = DISABLED;
|
||||
cancel_delayed_work_sync(&runnables_work);
|
||||
}
|
||||
}
|
||||
|
||||
static void runnables_device_free(void)
|
||||
{
|
||||
if (runnables_state == DISABLED) {
|
||||
runnables_state = IDLE;
|
||||
runnables_work_func(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void runnables_stop(void)
|
||||
{
|
||||
runnables_state = DISABLED;
|
||||
@@ -228,6 +244,8 @@ static int runnables_start(void)
|
||||
struct cpuquiet_governor runnables_governor = {
|
||||
.name = "runnable",
|
||||
.start = runnables_start,
|
||||
.device_free_notification = runnables_device_free,
|
||||
.device_busy_notification = runnables_device_busy,
|
||||
.stop = runnables_stop,
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user