/*
- * Copyright (c) 2012 NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2012-2013 NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
};
#endif
-int cpuquiet_quiesence_cpu(unsigned int cpunumber)
+int cpuquiet_quiesence_cpu(unsigned int cpunumber, bool sync)
{
int err = -EPERM;
if (cpuquiet_curr_driver && cpuquiet_curr_driver->quiesence_cpu)
- err = cpuquiet_curr_driver->quiesence_cpu(cpunumber);
+ err = cpuquiet_curr_driver->quiesence_cpu(cpunumber, sync);
#ifdef CONFIG_CPUQUIET_STATS
if (!err)
}
EXPORT_SYMBOL(cpuquiet_quiesence_cpu);
-int cpuquiet_wake_cpu(unsigned int cpunumber)
+int cpuquiet_wake_cpu(unsigned int cpunumber, bool sync)
{
int err = -EPERM;
if (cpuquiet_curr_driver && cpuquiet_curr_driver->wake_cpu)
- err = cpuquiet_curr_driver->wake_cpu(cpunumber);
+ err = cpuquiet_curr_driver->wake_cpu(cpunumber, sync);
#ifdef CONFIG_CPUQUIET_STATS
if (!err)
return;
}
- /* stop current governor first */
- cpuquiet_switch_governor(NULL);
-
mutex_lock(&cpuquiet_lock);
+
+ /* Stop current governor first */
+ cpuquiet_switch_governor(NULL);
cpuquiet_curr_driver = NULL;
for_each_possible_cpu(cpu) {