Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dabe1619 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents cfb54b7f 2f2e145e
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
// 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;