Merge "msm: kgsl: Make the gpubw governor immutable"

This commit is contained in:
qctecmdr 2020-04-21 20:21:59 -07:00 • committed by Gerrit - the friendly Code Review server
commit 35c73f0ac3
2 changed files with 14 additions and 5 deletions

View file

@ -197,6 +197,9 @@ static int devfreq_gpubw_event_handler(struct devfreq *devfreq,
int result = 0;
unsigned long freq;
if (strcmp(dev_name(devfreq->dev.parent), "kgsl-busmon"))
return -EINVAL;
mutex_lock(&devfreq->lock);
freq = devfreq->previous_freq;
switch (event) {
@ -233,6 +236,7 @@ static struct devfreq_governor devfreq_gpubw = {
.name = "gpubw_mon",
.get_target_freq = devfreq_gpubw_get_target,
.event_handler = devfreq_gpubw_event_handler,
.immutable = 1,
};
static int __init devfreq_gpubw_init(void)

View file

@ -1,12 +1,13 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2010-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2010-2020, The Linux Foundation. All rights reserved.
*/
#include <linux/errno.h>
#include <linux/module.h>
#include <linux/devfreq.h>
#include <linux/dma-mapping.h>
#include <linux/math64.h>
#include <linux/of_platform.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/io.h>
@ -505,11 +506,15 @@ static int tz_suspend(struct devfreq *devfreq)
static int tz_handler(struct devfreq *devfreq, unsigned int event, void *data)
{
int result;
struct msm_adreno_extended_profile *gpu_profile;
struct device_node *node = devfreq->dev.parent->of_node;
struct msm_adreno_extended_profile *gpu_profile = container_of(
(devfreq->profile),
struct msm_adreno_extended_profile,
profile);
if (!of_device_is_compatible(node, "qcom,kgsl-3d0"))
return -EINVAL;
gpu_profile = container_of((devfreq->profile),
struct msm_adreno_extended_profile,
profile);
switch (event) {
case DEVFREQ_GOV_START: