Loading drivers/gpu/msm/kgsl_bus.c +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> Loading Loading @@ -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; Loading Loading
drivers/gpu/msm/kgsl_bus.c +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> Loading Loading @@ -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; Loading