summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorXianzhong <b07117@freescale.com>2012-08-03 00:50:19 +0800
committerXianzhong <b07117@freescale.com>2012-08-03 18:56:59 +0800
commitb60d26819d57d14cb174576c561a2f4e17828dca (patch)
treed9ab44b83e8a4fc4fadd727f20a744f0928df899 /arch
parent76f691466a56fc235d4f4e138195dc78a5823c37 (diff)
ENGR00219193 improve gpu3d core clock to 528M
The original 528M setting is invalid and become 396M actually, Change gpu3d core clock parent to 594_PFD to enable 528M setting. Benchmark performance are improved with clock change on i.MX6DL: Basemark2: 5.85 --> 7.66 Nenamark2: 23.7 --> 27.4 Quadrant 3d: 2186 --> 2270 Signed-off-by: Xianzhong <b07117@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx6/clock.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-mx6/clock.c b/arch/arm/mach-mx6/clock.c
index 4d98b2680672..61cf37c9a4f8 100644
--- a/arch/arm/mach-mx6/clock.c
+++ b/arch/arm/mach-mx6/clock.c
@@ -5354,9 +5354,11 @@ int __init mx6_clocks_init(unsigned long ckil, unsigned long osc,
*/
clk_set_parent(&gpu3d_shader_clk, &pll2_pfd_594M);
clk_set_rate(&gpu3d_shader_clk, 594000000);
- clk_set_parent(&gpu3d_core_clk[0], &mmdc_ch0_axi_clk[0]);
- clk_set_rate(&gpu3d_core_clk[0], 528000000);
if (cpu_is_mx6dl()) {
+ /*for mx6dl, change gpu3d core clk parant to 594_PFD */
+ clk_set_parent(&gpu3d_core_clk[0], &pll2_pfd_594M);
+ clk_set_rate(&gpu3d_core_clk[0], 594000000);
+
/*on mx6dl, 2d core clock sources from 3d shader core clock*/
clk_set_parent(&gpu2d_core_clk[0], &gpu3d_shader_clk);
/* on mx6dl gpu3d_axi_clk source from mmdc0 directly */
@@ -5369,6 +5371,8 @@ int __init mx6_clocks_init(unsigned long ckil, unsigned long osc,
clk_set_parent(&ipu2_clk, &pll2_pfd_400M);
clk_set_rate(&ipu2_clk, 200000000);
} else if (cpu_is_mx6q()) {
+ clk_set_parent(&gpu3d_core_clk[0], &mmdc_ch0_axi_clk[0]);
+ clk_set_rate(&gpu3d_core_clk[0], 528000000);
clk_set_parent(&ipu2_clk, &mmdc_ch0_axi_clk[0]);
clk_set_parent(&ipu1_clk, &mmdc_ch0_axi_clk[0]);
}