summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Tu <jay.tu@freescale.com>2014-08-25 20:35:43 +0800
committerJay Tu <jay.tu@freescale.com>2014-08-26 11:22:37 +0800
commitb560fd6518b12db412ce39847c30af29d452f508 (patch)
treea24b89d61d33652f2d6cbf84c6d6c2bf93c51e9d
parentebe6e50e459356906caff736874b4011b097001d (diff)
ENGR00327608 Revert "ENGR00278452 PU: fix system hang if run Audio loop test"
This reverts commit d3d6949649c522ae692287de2b12c744676076aa. We didn't find the way to reproduce the issue and the changes in gpu kernel is not in gpu repository. Revert this firstly and checked if we can find the way to see the issue cleary. Signed-off-by: Jay Tu <jay.tu@freescale.com>
-rwxr-xr-xarch/arm/plat-mxc/cpufreq.c18
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c2
-rw-r--r--drivers/mxc/vpu/mxc_vpu.c11
3 files changed, 3 insertions, 28 deletions
diff --git a/arch/arm/plat-mxc/cpufreq.c b/arch/arm/plat-mxc/cpufreq.c
index 2d26971a01ed..b11d655a734b 100755
--- a/arch/arm/plat-mxc/cpufreq.c
+++ b/arch/arm/plat-mxc/cpufreq.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2010-2014 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -47,7 +47,7 @@ static u32 pre_suspend_rate;
int cpufreq_suspended;
#endif
static bool cpufreq_suspend;
-struct mutex set_cpufreq_lock;
+static struct mutex set_cpufreq_lock;
extern struct regulator *cpu_regulator;
extern struct regulator *soc_regulator;
@@ -108,13 +108,6 @@ int set_cpu_freq(int freq)
"COULD NOT SET PU VOLTAGE!!!!\n");
goto err2;
}
- /*
- * Force sync setting PU since regulator mabye maintain
- * the old volatage setting before disable PU, then will
- * miss this time setting if the two setting is same.
- * So do force sync again here.
- */
- regulator_sync_voltage(pu_regulator);
}
ret = regulator_set_voltage(cpu_regulator, gp_volt,
gp_volt);
@@ -155,13 +148,6 @@ int set_cpu_freq(int freq)
"COULD NOT SET PU VOLTAGE!!!!\n");
goto err7;
}
- /*
- * Force sync setting PU since regulator mabye maintain
- * the old volatage setting before disable PU, then will
- * miss this time setting if the two setting is same.
- * So do force sync again here.
- */
- regulator_sync_voltage(pu_regulator);
}
/* Check if the bus freq can be decreased.*/
bus_freq_update(cpu_clk, false);
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
index 35d479f7290c..4c04efa308e3 100644
--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
@@ -6942,7 +6942,6 @@ gckOS_GetThreadID(
**
** Nothing.
*/
-extern struct mutex set_cpufreq_lock;
gceSTATUS
gckOS_SetGPUPower(
IN gckOS Os,
@@ -7126,7 +7125,6 @@ gckOS_SetGPUPower(
mutex_lock(&set_cpufreq_lock);
if(!IS_ERR(Os->device->gpu_regulator))
regulator_disable(Os->device->gpu_regulator);
- mutex_unlock(&set_cpufreq_lock);
#else
imx_gpc_power_up_pu(false);
#endif
diff --git a/drivers/mxc/vpu/mxc_vpu.c b/drivers/mxc/vpu/mxc_vpu.c
index 03f2be8c8b67..09b8819aa450 100644
--- a/drivers/mxc/vpu/mxc_vpu.c
+++ b/drivers/mxc/vpu/mxc_vpu.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2006-2014 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -113,7 +113,6 @@ static int vpu_jpu_irq;
static unsigned int regBk[64];
static struct regulator *vpu_regulator;
static unsigned int pc_before_suspend;
-extern struct mutex set_cpufreq_lock;
#define READ_REG(x) __raw_readl(vpu_base + x)
#define WRITE_REG(val, x) __raw_writel(val, vpu_base + x)
@@ -253,10 +252,8 @@ static int vpu_open(struct inode *inode, struct file *filp)
mutex_lock(&vpu_data.lock);
if (open_count++ == 0) {
- mutex_lock(&set_cpufreq_lock);
if (!IS_ERR(vpu_regulator))
regulator_enable(vpu_regulator);
- mutex_unlock(&set_cpufreq_lock);
#ifdef CONFIG_SOC_IMX6Q
clk_enable(vpu_clk);
@@ -637,10 +634,8 @@ static int vpu_release(struct inode *inode, struct file *filp)
for (i = 0; i < vpu_clk_usercount; i++)
clk_disable(vpu_clk);
- mutex_lock(&set_cpufreq_lock);
if (!IS_ERR(vpu_regulator))
regulator_disable(vpu_regulator);
- mutex_unlock(&set_cpufreq_lock);
}
mutex_unlock(&vpu_data.lock);
@@ -929,10 +924,8 @@ static int vpu_suspend(struct platform_device *pdev, pm_message_t state)
/* If VPU is working before suspend, disable
* regulator to make usecount right. */
- mutex_lock(&set_cpufreq_lock);
if (!IS_ERR(vpu_regulator))
regulator_disable(vpu_regulator);
- mutex_unlock(&set_cpufreq_lock);
}
mutex_unlock(&vpu_data.lock);
@@ -959,10 +952,8 @@ static int vpu_resume(struct platform_device *pdev)
/* If VPU is working before suspend, enable
* regulator to make usecount right. */
- mutex_lock(&set_cpufreq_lock);
if (!IS_ERR(vpu_regulator))
regulator_enable(vpu_regulator);
- mutex_unlock(&set_cpufreq_lock);
if (vpu_plat->pg)
vpu_plat->pg(0);