diff options
author | Will Song <jinpengsong@google.com> | 2024-03-05 04:27:03 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-03-05 04:27:03 +0000 |
commit | d66990422854622376a40d8302510079cc1ffecb (patch) | |
tree | e5fb9236a8171a77a200c108d4857f7e10709d85 | |
parent | 59de658aceca6e3fab75ca0be97202154ebc9993 (diff) | |
parent | 589b5f33d766f28573267351371ea82493ec20c1 (diff) | |
download | gs-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.c | 3 | ||||
-rw-r--r-- | drivers/performance/lat_governors/gs_governor_dsulat.c | 10 | ||||
-rw-r--r-- | drivers/performance/lat_governors/gs_governor_memlat.c | 9 |
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); |