1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/*
* drivers/platform/tegra/tegra13_edp.c
*
* Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <mach/edp.h>
#ifdef CONFIG_SYSEDP_FRAMEWORK
static struct tegra_sysedp_corecap t132_sysedp_corecap[] = {
/*mW CPU intensive load GPU intensive load */
/*mW budget gpu(khz) mem(khz) budget gpu(khz) mem(khz) pthrot(mW)*/
{5000, {3000, 180000, 933000}, {3000, 180000, 933000}, 2739 },
{6000, {4000, 180000, 933000}, {3500, 252000, 933000}, 3509 },
{7000, {5000, 180000, 933000}, {3500, 324000, 933000}, 4084 },
{8000, {6000, 252000, 933000}, {3500, 396000, 933000}, 4564 },
{9000, {6000, 180000, 933000}, {3500, 468000, 933000}, 5043 },
{10000, {7000, 180000, 933000}, {6000, 396000, 933000}, 5868 },
{11000, {7000, 252000, 933000}, {6000, 468000, 933000}, 6348 },
{12000, {7000, 396000, 933000}, {6500, 468000, 933000}, 7307 },
{13000, {9000, 180000, 933000}, {6000, 540000, 933000}, 7714 },
{14000, {10000, 252000, 933000}, {6000, 612000, 933000}, 8835 },
{15000, {10000, 324000, 933000}, {6000, 684000, 933000}, 9600 },
{16000, {11000, 252000, 933000}, {6000, 708000, 933000}, 9978 },
{17000, {12000, 180000, 933000}, {6000, 756000, 933000}, 10434 },
{18000, {12000, 324000, 933000}, {7000, 756000, 933000}, 11393 },
{19000, {13000, 252000, 933000}, {7000, 804000, 933000}, 11935 },
{20000, {13000, 324000, 933000}, {7500, 804000, 933000}, 12414 },
{21000, {14000, 252000, 933000}, {6500, 853000, 933000}, 13643 },
{22000, {14000, 396000, 933000}, {9000, 853000, 933000}, 14602 },
{23000, {15000, 252000, 933000}, {9000, 853000, 933000}, 13643 },
{24000, {16000, 180000, 933000}, {9500, 853000, 933000}, 14432 },
{25000, {16800, 180000, 933000}, {10000, 853000, 933000}, 15815 },
{26000, {16800, 324000, 933000}, {11000, 853000, 933000}, 16774 },
{27000, {16800, 468000, 933000}, {11000, 853000, 933000}, 17733 },
{28000, {16800, 540000, 933000}, {11500, 853000, 933000}, 18479 },
{29000, {16800, 540000, 933000}, {13000, 853000, 933000}, 18479 },
{30000, {16800, 648000, 933000}, {13000, 853000, 933000}, 20252 },
{31000, {16800, 708000, 933000}, {13500, 853000, 933000}, 21407 },
{32000, {16800, 708000, 933000}, {14000, 853000, 933000}, 21407 },
{33000, {16800, 756000, 933000}, {14500, 853000, 933000}, 22430 },
};
struct tegra_sysedp_corecap *tegra_get_sysedp_corecap(unsigned int *sz)
{
BUG_ON(sz == NULL);
*sz = ARRAY_SIZE(t132_sysedp_corecap);
return t132_sysedp_corecap;
}
#endif
|