mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 09:14:18 -04:00
msm: kgsl: Restrict gpu governors to gpu devfreq devices
These governors should fail if being set for any device other than the gpu device. Do this by checking that the devfreq device for which this governor is being set for has the gpu device as it's parent device. Change-Id: I391557c0d52a1f4ffba70e010401a0769587dea0 Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This commit is contained in:
parent
17c22334d7
commit
f02489b4c8
2 changed files with 13 additions and 5 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue