Merge "msm: kgsl: Take devfreq event lock for ddr qos vote"

This commit is contained in:
qctecmdr 2021-01-21 18:57:28 -08:00 • committed by Gerrit - the friendly Code Review server
commit dabe161962

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
*/
#include <linux/interconnect.h>
@ -54,10 +54,21 @@ static void set_ddr_qos(struct kgsl_device *device, int buslevel)
if (new_min_freq == cur_min_freq)
return;
/*
* We need the event lock to protect against concurrent governor
* re-assignments.
*/
event_mutex_lock(dev);
mutex_lock(&dev->lock);
/*
* Update both min/max to make sure correct vote is set regardless
* of the governor, which can be changed from sysfs
*/
dev->min_freq = new_min_freq;
dev->max_freq = new_min_freq;
ret = update_devfreq(dev);
mutex_unlock(&dev->lock);
event_mutex_unlock(dev);
if (!ret)
cur_min_freq = new_min_freq;