GPU: fix 2d OC, kernel mpdecision
/arch/arm/mach-msm/clock-8960.c
blob:a27565988a4e64884f4216a7510f8ae4251f9107 -> blob:33b17ca13115df90bda14320c27f14f80432ff0e
--- arch/arm/mach-msm/clock-8960.c
+++ arch/arm/mach-msm/clock-8960.c
@@ -3242,9 +3242,10 @@ static struct clk_freq_tbl clk_tbl_gfx2d
F_GFX2D(128000000, pll8, 1, 3),
F_GFX2D(145455000, pll2, 2, 11),
F_GFX2D(160000000, pll2, 1, 5),
- F_GFX2D(177778000, pll2, 2, 9),
- F_GFX2D(200000000, pll2, 1, 4),
+ F_GFX2D(228571000, pll2, 2, 9),
+ F_GFX2D(266667000, pll2, 1, 4),
F_GFX2D(300000000, pll2, 2, 7),
+ F_GFX2D(320000000, pll2, 1, 3),
F_END
};
@@ -3286,8 +3287,8 @@ static struct rcg_clk gfx2d0_clk = {
.c = {
.dbg_name = "gfx2d0_clk",
.ops = &clk_ops_rcg_8960,
- VDD_DIG_FMAX_MAP3(LOW, 100000000, NOMINAL, 200000000,
- HIGH, 300000000),
+ VDD_DIG_FMAX_MAP3(LOW, 100000000, NOMINAL, 266667000,
+ HIGH, 320000000),
CLK_INIT(gfx2d0_clk.c),
},
};
@@ -3330,8 +3331,8 @@ static struct rcg_clk gfx2d1_clk = {
.c = {
.dbg_name = "gfx2d1_clk",
.ops = &clk_ops_rcg_8960,
- VDD_DIG_FMAX_MAP3(LOW, 100000000, NOMINAL, 200000000,
- HIGH, 300000000),
+ VDD_DIG_FMAX_MAP3(LOW, 100000000, NOMINAL, 266667000,
+ HIGH, 320000000),
CLK_INIT(gfx2d1_clk.c),
},
};
@@ -3359,9 +3360,11 @@ static struct clk_freq_tbl clk_tbl_gfx3d
F_GFX3D(160000000, pll2, 1, 5),
F_GFX3D(177778000, pll2, 2, 9),
F_GFX3D(200000000, pll2, 1, 4),
- F_GFX3D(228571000, pll2, 2, 7),
- F_GFX3D(266667000, pll2, 1, 3),
- F_GFX3D(320000000, pll2, 2, 5),
+ F_GFX3D(266667000, pll2, 2, 7),
+ F_GFX3D(320000000, pll2, 1, 3),
+ F_GFX3D(400000000, pll2, 3, 8),
+ F_GFX3D(450000000, pll2, 1, 2),
+ F_GFX3D(512000000, pll2, 2, 5),
F_END
};
@@ -3383,41 +3386,15 @@ static struct clk_freq_tbl clk_tbl_gfx3d
F_GFX3D(300000000, pll3, 1, 4),
F_GFX3D(320000000, pll2, 2, 5),
F_GFX3D(400000000, pll2, 1, 2),
- F_END
-};
-
-static unsigned long fmax_gfx3d_8960_v2[MAX_VDD_LEVELS] __initdata = {
- [VDD_DIG_LOW] = 128000000,
- [VDD_DIG_NOMINAL] = 300000000,
- [VDD_DIG_HIGH] = 400000000
-};
-
-static struct clk_freq_tbl clk_tbl_gfx3d_8960_oc[] = {
- F_GFX3D( 0, gnd, 0, 0),
- F_GFX3D( 27000000, pxo, 0, 0),
- F_GFX3D( 48000000, pll8, 1, 8),
- F_GFX3D( 54857000, pll8, 1, 7),
- F_GFX3D( 64000000, pll8, 1, 6),
- F_GFX3D( 76800000, pll8, 1, 5),
- F_GFX3D( 96000000, pll8, 1, 4),
- F_GFX3D(128000000, pll8, 1, 3),
- F_GFX3D(145455000, pll2, 2, 11),
- F_GFX3D(160000000, pll2, 1, 5),
- F_GFX3D(177778000, pll2, 2, 9),
- F_GFX3D(200000000, pll2, 1, 4),
- F_GFX3D(228571000, pll2, 2, 7),
- F_GFX3D(266667000, pll2, 1, 3),
- F_GFX3D(300000000, pll3, 1, 4),
- F_GFX3D(320000000, pll2, 2, 5),
- F_GFX3D(400000000, pll2, 1, 2),
F_GFX3D(480000000, pll3, 2, 5),
+ F_GFX3D(512000000, pll2, 1, 2),
F_END
};
-static unsigned long fmax_gfx3d_8960_oc[MAX_VDD_LEVELS] __initdata = {
+static unsigned long fmax_gfx3d_8960_v2[MAX_VDD_LEVELS] __initdata = {
[VDD_DIG_LOW] = 128000000,
[VDD_DIG_NOMINAL] = 320000000,
- [VDD_DIG_HIGH] = 480000000
+ [VDD_DIG_HIGH] = 512000000
};
static struct clk_freq_tbl clk_tbl_gfx3d_8064[] = {
@@ -3437,13 +3414,14 @@ static struct clk_freq_tbl clk_tbl_gfx3d
F_GFX3D(266667000, pll2, 1, 3),
F_GFX3D(325000000, pll15, 1, 3),
F_GFX3D(400000000, pll2, 1, 2),
+ F_GFX3D(512000000, pll2, 1, 2),
F_END
};
static unsigned long fmax_gfx3d_8064[MAX_VDD_LEVELS] __initdata = {
[VDD_DIG_LOW] = 128000000,
[VDD_DIG_NOMINAL] = 325000000,
- [VDD_DIG_HIGH] = 400000000
+ [VDD_DIG_HIGH] = 512000000
};
static struct bank_masks bmnd_info_gfx3d = {
@@ -3484,8 +3462,8 @@ static struct rcg_clk gfx3d_clk = {
.c = {
.dbg_name = "gfx3d_clk",
.ops = &clk_ops_rcg_8960,
- VDD_DIG_FMAX_MAP3(LOW, 128000000, NOMINAL, 266667000,
- HIGH, 320000000),
+ VDD_DIG_FMAX_MAP3(LOW, 128000000, NOMINAL, 320000000,
+ HIGH, 512000000),
CLK_INIT(gfx3d_clk.c),
.depends = &gmem_axi_clk.c,
},
@@ -4144,6 +4122,7 @@ static struct clk_freq_tbl clk_tbl_vpe[]
F_VPE( 96000000, pll8, 4),
F_VPE(100000000, pll2, 8),
F_VPE(160000000, pll2, 5),
+ F_VPE(200000000, pll2, 4),
F_END
};
@@ -4167,7 +4146,7 @@ static struct rcg_clk vpe_clk = {
.c = {
.dbg_name = "vpe_clk",
.ops = &clk_ops_rcg_8960,
- VDD_DIG_FMAX_MAP2(LOW, 76800000, NOMINAL, 160000000),
+ VDD_DIG_FMAX_MAP2(LOW, 76800000, NOMINAL, 200000000),
CLK_INIT(vpe_clk.c),
.depends = &vpe_axi_clk.c,
},
@@ -5916,9 +5895,9 @@ static void __init msm8960_clock_init(vo
memcpy(msm_clocks_8960, msm_clocks_8960_v1,
sizeof(msm_clocks_8960_v1));
if (SOCINFO_VERSION_MAJOR(socinfo_get_version()) >= 2) {
- gfx3d_clk.freq_tbl = clk_tbl_gfx3d_8960_oc;
+ gfx3d_clk.freq_tbl = clk_tbl_gfx3d_8960_v2;
- memcpy(gfx3d_clk.c.fmax, fmax_gfx3d_8960_oc,
+ memcpy(gfx3d_clk.c.fmax, fmax_gfx3d_8960_v2,
sizeof(gfx3d_clk.c.fmax));
memcpy(ijpeg_clk.c.fmax, fmax_ijpeg_8960_v2,
sizeof(ijpeg_clk.c.fmax));