summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Song <jinpengsong@google.com>2024-03-05 04:27:03 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-03-05 04:27:03 +0000
commitd66990422854622376a40d8302510079cc1ffecb (patch)
treee5fb9236a8171a77a200c108d4857f7e10709d85
parent59de658aceca6e3fab75ca0be97202154ebc9993 (diff)
parent589b5f33d766f28573267351371ea82493ec20c1 (diff)
downloadgs-d66990422854622376a40d8302510079cc1ffecb.tar.gz
drivers: performance: Suspend Resume Client Fix am: 589b5f33d7
Original change: https://partner-android-review.googlesource.com/c/kernel/private/google-modules/soc/gs/+/2756404 Change-Id: I4c628c233f1564a438cca8a17c393465c5f838e7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--drivers/performance/gs_perf_mon/gs_perf_mon.c3
-rw-r--r--drivers/performance/lat_governors/gs_governor_dsulat.c10
-rw-r--r--drivers/performance/lat_governors/gs_governor_memlat.c9
3 files changed, 1 insertions, 21 deletions
diff --git a/drivers/performance/gs_perf_mon/gs_perf_mon.c b/drivers/performance/gs_perf_mon/gs_perf_mon.c
index f8fa8a46f..618dc5165 100644
--- a/drivers/performance/gs_perf_mon/gs_perf_mon.c
+++ b/drivers/performance/gs_perf_mon/gs_perf_mon.c
@@ -163,7 +163,6 @@ int gs_perf_mon_add_client(struct gs_perf_mon_client *client)
mutex_lock(&perf_mon_metadata.client_list_lock);
INIT_LIST_HEAD(&client->node);
list_add(&client->node, &perf_mon_metadata.client_list);
-
mutex_unlock(&perf_mon_metadata.client_list_lock);
return 0;
}
@@ -174,7 +173,7 @@ void gs_perf_mon_remove_client(struct gs_perf_mon_client *client)
if (!client)
return;
mutex_lock(&perf_mon_metadata.client_list_lock);
- list_del(&client->node);
+ list_del_init(&client->node);
mutex_unlock(&perf_mon_metadata.client_list_lock);
}
EXPORT_SYMBOL(gs_perf_mon_remove_client);
diff --git a/drivers/performance/lat_governors/gs_governor_dsulat.c b/drivers/performance/lat_governors/gs_governor_dsulat.c
index 87428e773..7d1462bc2 100644
--- a/drivers/performance/lat_governors/gs_governor_dsulat.c
+++ b/drivers/performance/lat_governors/gs_governor_dsulat.c
@@ -132,13 +132,10 @@ err_start:
static int gov_suspend(struct devfreq *df)
{
dsulat_node.gov_is_on = false;
-
mutex_lock(&df->lock);
update_devfreq(df);
mutex_unlock(&df->lock);
- gs_perf_mon_remove_client(&dsulat_perf_client);
-
return 0;
}
@@ -150,14 +147,7 @@ static int gov_suspend(struct devfreq *df)
*/
static int gov_resume(struct devfreq *df)
{
- int ret;
-
- ret = gs_perf_mon_add_client(&dsulat_perf_client);
- if (ret)
- return ret;
-
dsulat_node.gov_is_on = true;
-
mutex_lock(&df->lock);
update_devfreq(df);
mutex_unlock(&df->lock);
diff --git a/drivers/performance/lat_governors/gs_governor_memlat.c b/drivers/performance/lat_governors/gs_governor_memlat.c
index c3a598a04..0ecd88eb4 100644
--- a/drivers/performance/lat_governors/gs_governor_memlat.c
+++ b/drivers/performance/lat_governors/gs_governor_memlat.c
@@ -128,14 +128,10 @@ err_start:
*/
static int gov_suspend(struct devfreq *df)
{
- unsigned long prev_freq;
- prev_freq = df->previous_freq;
memlat_node.gov_is_on = false;
-
mutex_lock(&df->lock);
update_devfreq(df);
mutex_unlock(&df->lock);
- gs_perf_mon_remove_client(&memlat_perf_client);
return 0;
}
@@ -148,12 +144,7 @@ static int gov_suspend(struct devfreq *df)
*/
static int gov_resume(struct devfreq *df)
{
- int ret = gs_perf_mon_add_client(&memlat_perf_client);
- if (ret)
- return ret;
-
memlat_node.gov_is_on = true;
-
mutex_lock(&df->lock);
update_devfreq(df);
mutex_unlock(&df->lock);