diff options
author | Diwakar Tundlam <dtundlam@nvidia.com> | 2013-06-10 14:27:35 -0700 |
---|---|---|
committer | Harshada Kale <hkale@nvidia.com> | 2013-06-21 04:33:30 -0700 |
commit | dec800e23c7818656a6ec5e56b54d54d22681380 (patch) | |
tree | 40aece7488e1bd5c4ca7d2644fd70e2fccc47878 /arch/arm/mach-tegra/tegra11_edp.c | |
parent | 4bd3d2b5870482ebca1f6487025bc1c38fd4fe2c (diff) |
arm: tegra: refactor edp parameters init
Move common numeric values to be macro-based to avoid duplicates
Bug 1304350
Change-Id: Iac5fc39f421423487f6d012cbabe26ecac8a1787
Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-on: http://git-master/r/237411
Diffstat (limited to 'arch/arm/mach-tegra/tegra11_edp.c')
-rw-r--r-- | arch/arm/mach-tegra/tegra11_edp.c | 146 |
1 files changed, 41 insertions, 105 deletions
diff --git a/arch/arm/mach-tegra/tegra11_edp.c b/arch/arm/mach-tegra/tegra11_edp.c index e8ffd240e1da..5cddea0987ee 100644 --- a/arch/arm/mach-tegra/tegra11_edp.c +++ b/arch/arm/mach-tegra/tegra11_edp.c @@ -526,43 +526,47 @@ static struct core_edp_entry core_edp_table[] = { }; #ifdef CONFIG_TEGRA_EDP_LIMITS +#define LEAKAGE_CONSTS_IJK_COMMON \ + { \ + /* i = 0 */ \ + { { -42746668, -5458429, 164998, -1711, }, \ + { 178262421, 13375684, -411791, 4590, }, \ + { -228866784, -10482993, 331248, -4062, }, \ + { 94301550, 2618719, -85983, 1193, }, \ + }, \ + /* i = 1 */ \ + { { -256611791, 49677413, -1655785, 14917, }, \ + { 584675433, -132620939, 4541560, -41812, }, \ + { -398106336, 115987156, -4102328, 38737, }, \ + { 68897184, -33030745, 1217839, -11801, }, \ + }, \ + /* i = 2 */ \ + { { 186324676, -36019083, 1177969, -10669, }, \ + { -439237936, 98429131, -3276444, 30301, }, \ + { 315060898, -88635036, 3004777, -28474, }, \ + { -60854399, 26267188, -907121, 8844, }, \ + }, \ + /* i = 3 */ \ + { { -35432997, 6154621, -202200, 1830, }, \ + { 87402153, -16908683, 565152, -5220, }, \ + { -67775314, 15326770, -521221, 4927, }, \ + { 15618709, -4576116, 158401, -1538, }, \ + }, \ + } + +#define LEAKAGE_PARAMS_COMMON_PART \ + .dyn_scaled = 1000000, \ + .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 }, \ + .consts_scaled = 1000000, \ + .leakage_consts_n = { 538991, 752463, 959441, 1150000 }, \ + .ijk_scaled = 100000, \ + .leakage_min = 30, \ + .volt_temp_cap = { 70, 1300 }, \ + .leakage_consts_ijk = LEAKAGE_CONSTS_IJK_COMMON + static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = { { .cpu_speedo_id = 0, /* A01 CPU */ - - .dyn_scaled = 1000000, - .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 }, - - .consts_scaled = 1000000, - .leakage_consts_n = { 538991, 752463, 959441, 1150000 }, - - .ijk_scaled = 100000, - .leakage_consts_ijk = { - /* i = 0 */ - { { -42746668, -5458429, 164998, -1711, }, - { 178262421, 13375684, -411791, 4590, }, - { -228866784, -10482993, 331248, -4062, }, - { 94301550, 2618719, -85983, 1193, }, - }, - /* i = 1 */ - { { -256611791, 49677413, -1655785, 14917, }, - { 584675433, -132620939, 4541560, -41812, }, - { -398106336, 115987156, -4102328, 38737, }, - { 68897184, -33030745, 1217839, -11801, }, - }, - /* i = 2 */ - { { 186324676, -36019083, 1177969, -10669, }, - { -439237936, 98429131, -3276444, 30301, }, - { 315060898, -88635036, 3004777, -28474, }, - { -60854399, 26267188, -907121, 8844, }, - }, - /* i = 3 */ - { { -35432997, 6154621, -202200, 1830, }, - { 87402153, -16908683, 565152, -5220, }, - { -67775314, 15326770, -521221, 4927, }, - { 15618709, -4576116, 158401, -1538, }, - }, - }, .max_current_cap = { /* values are from tegra4 datasheet */ { .max_cur = 9000, .max_temp = 60, { 1900000, 1900000, 1600000, 1600000 } @@ -580,44 +584,10 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = { { 1900000, 1900000, 1900000, 1900000 } }, }, - .volt_temp_cap = { 70, 1300 }, + LEAKAGE_PARAMS_COMMON_PART, }, { .cpu_speedo_id = 1, /* A01P+ CPU */ - - .dyn_scaled = 1000000, - .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 }, - - .consts_scaled = 1000000, - .leakage_consts_n = { 538991, 752463, 959441, 1150000 }, - - .ijk_scaled = 100000, - .leakage_consts_ijk = { - /* i = 0 */ - { { -42746668, -5458429, 164998, -1711, }, - { 178262421, 13375684, -411791, 4590, }, - { -228866784, -10482993, 331248, -4062, }, - { 94301550, 2618719, -85983, 1193, }, - }, - /* i = 1 */ - { { -256611791, 49677413, -1655785, 14917, }, - { 584675433, -132620939, 4541560, -41812, }, - { -398106336, 115987156, -4102328, 38737, }, - { 68897184, -33030745, 1217839, -11801, }, - }, - /* i = 2 */ - { { 186324676, -36019083, 1177969, -10669, }, - { -439237936, 98429131, -3276444, 30301, }, - { 315060898, -88635036, 3004777, -28474, }, - { -60854399, 26267188, -907121, 8844, }, - }, - /* i = 3 */ - { { -35432997, 6154621, -202200, 1830, }, - { 87402153, -16908683, 565152, -5220, }, - { -67775314, 15326770, -521221, 4927, }, - { 15618709, -4576116, 158401, -1538, }, - }, - }, .safety_cap = { 1810500, 1810500, 1606500, 1606500 }, .max_current_cap = { /* values are from tegra4 datasheet */ { .max_cur = 7500, .max_temp = 90, @@ -645,44 +615,10 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = { { 1800000, 1800000, 1600000, 1600000 } }, }, - .volt_temp_cap = { 70, 1300 }, + LEAKAGE_PARAMS_COMMON_PART, }, { .cpu_speedo_id = 2, /* A01P+ fast CPU */ - - .dyn_scaled = 1000000, - .dyn_consts_n = { 1091747, 2035205, 2978661, 3922119 }, - - .consts_scaled = 1000000, - .leakage_consts_n = { 538991, 752463, 959441, 1150000 }, - - .ijk_scaled = 100000, - .leakage_consts_ijk = { - /* i = 0 */ - { { -42746668, -5458429, 164998, -1711, }, - { 178262421, 13375684, -411791, 4590, }, - { -228866784, -10482993, 331248, -4062, }, - { 94301550, 2618719, -85983, 1193, }, - }, - /* i = 1 */ - { { -256611791, 49677413, -1655785, 14917, }, - { 584675433, -132620939, 4541560, -41812, }, - { -398106336, 115987156, -4102328, 38737, }, - { 68897184, -33030745, 1217839, -11801, }, - }, - /* i = 2 */ - { { 186324676, -36019083, 1177969, -10669, }, - { -439237936, 98429131, -3276444, 30301, }, - { 315060898, -88635036, 3004777, -28474, }, - { -60854399, 26267188, -907121, 8844, }, - }, - /* i = 3 */ - { { -35432997, 6154621, -202200, 1830, }, - { 87402153, -16908683, 565152, -5220, }, - { -67775314, 15326770, -521221, 4927, }, - { 15618709, -4576116, 158401, -1538, }, - }, - }, .safety_cap = { 1912500, 1912500, 1912500, 1912500 }, .max_current_cap = { /* values are from tegra4 datasheet */ { .max_cur = 9000, .max_temp = 90, @@ -701,7 +637,7 @@ static struct tegra_edp_cpu_leakage_params t11x_leakage_params[] = { { 1900000, 1900000, 1900000, 1900000 } }, }, - .volt_temp_cap = { 70, 1300 }, + LEAKAGE_PARAMS_COMMON_PART, }, }; |