summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c
diff options
context:
space:
mode:
authorArto Merilainen <amerilainen@nvidia.com>2014-03-19 03:38:25 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:08:53 -0400
commita9785995d5f22aaeb659285f8aeb64d8b56982e0 (patch)
treecc75f75bcf43db316a002a7a240b81f299bf6d7f /drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c
parent61efaf843c22b85424036ec98015121c08f5f16c (diff)
gpu: nvgpu: Add NVIDIA GPU Driver
This patch moves the NVIDIA GPU driver to a new location. Bug 1482562 Change-Id: I24293810b9d0f1504fd9be00135e21dad656ccb6 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/383722 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c374
1 files changed, 374 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c b/drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c
new file mode 100644
index 00000000..c6478a5e
--- /dev/null
+++ b/drivers/gpu/nvgpu/gk20a/gk20a_gating_reglist.c
@@ -0,0 +1,374 @@
1/*
2 * Copyright (c) 2012-2014, NVIDIA Corporation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 *
17 * This file is autogenerated. Do not edit.
18 */
19
20#ifndef __gk20a_gating_reglist_h__
21#define __gk20a_gating_reglist_h__
22
23#include <linux/types.h>
24#include "gk20a_gating_reglist.h"
25
26struct gating_desc {
27 u32 addr;
28 u32 prod;
29 u32 disable;
30};
31/* slcg gr */
32const struct gating_desc gk20a_slcg_gr[] = {
33 {.addr = 0x004041f4, .prod = 0x00000000, .disable = 0x03fffffe},
34 {.addr = 0x00409894, .prod = 0x00000040, .disable = 0x0003fffe},
35 {.addr = 0x004078c4, .prod = 0x00000000, .disable = 0x000001fe},
36 {.addr = 0x00406004, .prod = 0x00000000, .disable = 0x0001fffe},
37 {.addr = 0x00405864, .prod = 0x00000000, .disable = 0x000001fe},
38 {.addr = 0x00405910, .prod = 0x00000000, .disable = 0xfffffffe},
39 {.addr = 0x00408044, .prod = 0x00000000, .disable = 0x000007fe},
40 {.addr = 0x00407004, .prod = 0x00000000, .disable = 0x0000001e},
41 {.addr = 0x0041a894, .prod = 0x00000000, .disable = 0x0003fffe},
42 {.addr = 0x00418504, .prod = 0x00000000, .disable = 0x0001fffe},
43 {.addr = 0x0041860c, .prod = 0x00000000, .disable = 0x000001fe},
44 {.addr = 0x0041868c, .prod = 0x00000000, .disable = 0x0000001e},
45 {.addr = 0x0041871c, .prod = 0x00000000, .disable = 0x0000003e},
46 {.addr = 0x00418388, .prod = 0x00000000, .disable = 0x00000001},
47 {.addr = 0x0041882c, .prod = 0x00000000, .disable = 0x0001fffe},
48 {.addr = 0x00418bc0, .prod = 0x00000000, .disable = 0x000001fe},
49 {.addr = 0x00418974, .prod = 0x00000000, .disable = 0x0001fffe},
50 {.addr = 0x00418c74, .prod = 0x00000000, .disable = 0xfffffffe},
51 {.addr = 0x00418cf4, .prod = 0x00000000, .disable = 0xfffffffe},
52 {.addr = 0x00418d74, .prod = 0x00000000, .disable = 0xfffffffe},
53 {.addr = 0x00418f10, .prod = 0x00000000, .disable = 0xfffffffe},
54 {.addr = 0x00418e10, .prod = 0x00000000, .disable = 0xfffffffe},
55 {.addr = 0x00419024, .prod = 0x00000000, .disable = 0x000001fe},
56 {.addr = 0x00419a44, .prod = 0x00000000, .disable = 0x0000000e},
57 {.addr = 0x00419a4c, .prod = 0x00000000, .disable = 0x000001fe},
58 {.addr = 0x00419a54, .prod = 0x00000000, .disable = 0x0000003e},
59 {.addr = 0x00419a5c, .prod = 0x00000000, .disable = 0x0000000e},
60 {.addr = 0x00419a64, .prod = 0x00000000, .disable = 0x000001fe},
61 {.addr = 0x00419a6c, .prod = 0x00000000, .disable = 0x0000000e},
62 {.addr = 0x00419a74, .prod = 0x00000000, .disable = 0x0000000e},
63 {.addr = 0x00419a7c, .prod = 0x00000000, .disable = 0x0000003e},
64 {.addr = 0x00419a84, .prod = 0x00000000, .disable = 0x0000000e},
65 {.addr = 0x00419ad0, .prod = 0x00000000, .disable = 0x0000000e},
66 {.addr = 0x0041986c, .prod = 0x0000dfc0, .disable = 0x00fffffe},
67 {.addr = 0x00419cd8, .prod = 0x00000000, .disable = 0x001ffffe},
68 {.addr = 0x00419ce0, .prod = 0x00000000, .disable = 0x001ffffe},
69 {.addr = 0x00419c74, .prod = 0x00000000, .disable = 0x0000001e},
70 {.addr = 0x00419fd4, .prod = 0x00000000, .disable = 0x0003fffe},
71 {.addr = 0x00419fdc, .prod = 0x00000000, .disable = 0xfffffffe},
72 {.addr = 0x00419fe4, .prod = 0x00000000, .disable = 0x0000000e},
73 {.addr = 0x00419ff4, .prod = 0x00000000, .disable = 0x00003ffe},
74 {.addr = 0x00419ffc, .prod = 0x00000000, .disable = 0x0001fffe},
75 {.addr = 0x0041be2c, .prod = 0x020bbfc0, .disable = 0xfffffffe},
76 {.addr = 0x0041bfec, .prod = 0x00000000, .disable = 0xfffffffe},
77 {.addr = 0x0041bed4, .prod = 0x00000000, .disable = 0xfffffffe},
78 {.addr = 0x00408814, .prod = 0x00000000, .disable = 0x0001fffe},
79 {.addr = 0x0040881c, .prod = 0x00000000, .disable = 0x0001fffe},
80 {.addr = 0x00408a84, .prod = 0x00000000, .disable = 0x0001fffe},
81 {.addr = 0x00408a8c, .prod = 0x00000000, .disable = 0x0001fffe},
82 {.addr = 0x00408a94, .prod = 0x00000000, .disable = 0x0001fffe},
83 {.addr = 0x00408a9c, .prod = 0x00000000, .disable = 0x0001fffe},
84 {.addr = 0x00408aa4, .prod = 0x00000000, .disable = 0x0001fffe},
85 {.addr = 0x00408aac, .prod = 0x00000000, .disable = 0x0001fffe},
86 {.addr = 0x004089ac, .prod = 0x00000000, .disable = 0x0001fffe},
87 {.addr = 0x00408a24, .prod = 0x00000000, .disable = 0x000001ff},
88 {.addr = 0x0017e050, .prod = 0x00000000, .disable = 0x00fffffe},
89 {.addr = 0x001200a8, .prod = 0x00000000, .disable = 0x00000001},
90 {.addr = 0x0010e48c, .prod = 0x00000000, .disable = 0x0000003e},
91 {.addr = 0x00001c04, .prod = 0x00000000, .disable = 0x000000fe},
92 {.addr = 0x00106f28, .prod = 0x00000040, .disable = 0x000007fe},
93 {.addr = 0x000206b8, .prod = 0x00000000, .disable = 0x0000000f},
94 {.addr = 0x0017ea98, .prod = 0x00000000, .disable = 0xfffffffe},
95 {.addr = 0x00106f28, .prod = 0x00000040, .disable = 0x000007fe},
96 {.addr = 0x00120048, .prod = 0x00000000, .disable = 0x00000049},
97};
98
99/* slcg perf */
100const struct gating_desc gk20a_slcg_perf[] = {
101 {.addr = 0x001be018, .prod = 0x000001ff, .disable = 0x00000000},
102 {.addr = 0x001bc018, .prod = 0x000001ff, .disable = 0x00000000},
103 {.addr = 0x001b8018, .prod = 0x000001ff, .disable = 0x00000000},
104 {.addr = 0x001b4124, .prod = 0x00000001, .disable = 0x00000000},
105};
106
107/* blcg gr */
108const struct gating_desc gk20a_blcg_gr[] = {
109 {.addr = 0x004041f0, .prod = 0x00004046, .disable = 0x00000000},
110 {.addr = 0x00409890, .prod = 0x0000007f, .disable = 0x00000000},
111 {.addr = 0x004098b0, .prod = 0x0000007f, .disable = 0x00000000},
112 {.addr = 0x004078c0, .prod = 0x00000042, .disable = 0x00000000},
113 {.addr = 0x00406000, .prod = 0x00004044, .disable = 0x00000000},
114 {.addr = 0x00405860, .prod = 0x00004042, .disable = 0x00000000},
115 {.addr = 0x0040590c, .prod = 0x00004044, .disable = 0x00000000},
116 {.addr = 0x00408040, .prod = 0x00004044, .disable = 0x00000000},
117 {.addr = 0x00407000, .prod = 0x00004041, .disable = 0x00000000},
118 {.addr = 0x00405bf0, .prod = 0x00004044, .disable = 0x00000000},
119 {.addr = 0x0041a890, .prod = 0x0000007f, .disable = 0x00000000},
120 {.addr = 0x0041a8b0, .prod = 0x0000007f, .disable = 0x00000000},
121 {.addr = 0x00418500, .prod = 0x00004044, .disable = 0x00000000},
122 {.addr = 0x00418608, .prod = 0x00004042, .disable = 0x00000000},
123 {.addr = 0x00418688, .prod = 0x00004042, .disable = 0x00000000},
124 {.addr = 0x00418718, .prod = 0x00000042, .disable = 0x00000000},
125 {.addr = 0x00418828, .prod = 0x00000044, .disable = 0x00000000},
126 {.addr = 0x00418bbc, .prod = 0x00004042, .disable = 0x00000000},
127 {.addr = 0x00418970, .prod = 0x00004042, .disable = 0x00000000},
128 {.addr = 0x00418c70, .prod = 0x00004044, .disable = 0x00000000},
129 {.addr = 0x00418cf0, .prod = 0x00004044, .disable = 0x00000000},
130 {.addr = 0x00418d70, .prod = 0x00004044, .disable = 0x00000000},
131 {.addr = 0x00418f0c, .prod = 0x00004044, .disable = 0x00000000},
132 {.addr = 0x00418e0c, .prod = 0x00004044, .disable = 0x00000000},
133 {.addr = 0x00419020, .prod = 0x00004042, .disable = 0x00000000},
134 {.addr = 0x00419038, .prod = 0x00000042, .disable = 0x00000000},
135 {.addr = 0x00419a40, .prod = 0x00004042, .disable = 0x00000000},
136 {.addr = 0x00419a48, .prod = 0x00004042, .disable = 0x00000000},
137 {.addr = 0x00419a50, .prod = 0x00004042, .disable = 0x00000000},
138 {.addr = 0x00419a58, .prod = 0x00004042, .disable = 0x00000000},
139 {.addr = 0x00419a60, .prod = 0x00004042, .disable = 0x00000000},
140 {.addr = 0x00419a68, .prod = 0x00004042, .disable = 0x00000000},
141 {.addr = 0x00419a70, .prod = 0x00004042, .disable = 0x00000000},
142 {.addr = 0x00419a78, .prod = 0x00004042, .disable = 0x00000000},
143 {.addr = 0x00419a80, .prod = 0x00004042, .disable = 0x00000000},
144 {.addr = 0x00419acc, .prod = 0x00004047, .disable = 0x00000000},
145 {.addr = 0x00419868, .prod = 0x00000043, .disable = 0x00000000},
146 {.addr = 0x00419cd4, .prod = 0x00004042, .disable = 0x00000000},
147 {.addr = 0x00419cdc, .prod = 0x00004042, .disable = 0x00000000},
148 {.addr = 0x00419c70, .prod = 0x00004045, .disable = 0x00000000},
149 {.addr = 0x00419fd0, .prod = 0x00004043, .disable = 0x00000000},
150 {.addr = 0x00419fd8, .prod = 0x00004045, .disable = 0x00000000},
151 {.addr = 0x00419fe0, .prod = 0x00004042, .disable = 0x00000000},
152 {.addr = 0x00419fe8, .prod = 0x00004042, .disable = 0x00000000},
153 {.addr = 0x00419ff0, .prod = 0x00004044, .disable = 0x00000000},
154 {.addr = 0x00419ff8, .prod = 0x00004042, .disable = 0x00000000},
155 {.addr = 0x00419f90, .prod = 0x00004042, .disable = 0x00000000},
156 {.addr = 0x0041be28, .prod = 0x00000042, .disable = 0x00000000},
157 {.addr = 0x0041bfe8, .prod = 0x00004044, .disable = 0x00000000},
158 {.addr = 0x0041bed0, .prod = 0x00004044, .disable = 0x00000000},
159 {.addr = 0x00408810, .prod = 0x00004042, .disable = 0x00000000},
160 {.addr = 0x00408818, .prod = 0x00004042, .disable = 0x00000000},
161 {.addr = 0x00408a80, .prod = 0x00004042, .disable = 0x00000000},
162 {.addr = 0x00408a88, .prod = 0x00004042, .disable = 0x00000000},
163 {.addr = 0x00408a90, .prod = 0x00004042, .disable = 0x00000000},
164 {.addr = 0x00408a98, .prod = 0x00004042, .disable = 0x00000000},
165 {.addr = 0x00408aa0, .prod = 0x00004042, .disable = 0x00000000},
166 {.addr = 0x00408aa8, .prod = 0x00004042, .disable = 0x00000000},
167 {.addr = 0x004089a8, .prod = 0x00004042, .disable = 0x00000000},
168 {.addr = 0x004089b0, .prod = 0x00000042, .disable = 0x00000000},
169 {.addr = 0x004089b8, .prod = 0x00004042, .disable = 0x00000000},
170 {.addr = 0x0017ea60, .prod = 0x00000044, .disable = 0x00000000},
171 {.addr = 0x0017ea68, .prod = 0x00000044, .disable = 0x00000000},
172 {.addr = 0x00100d30, .prod = 0x0000c242, .disable = 0x00000000},
173 {.addr = 0x00100d48, .prod = 0x0000c242, .disable = 0x00000000},
174 {.addr = 0x00100d3c, .prod = 0x00000242, .disable = 0x00000000},
175 {.addr = 0x0017ea78, .prod = 0x00000044, .disable = 0x00000000},
176 {.addr = 0x0017e040, .prod = 0x00000044, .disable = 0x00000000},
177 {.addr = 0x00100d1c, .prod = 0x00000042, .disable = 0x00000000},
178 {.addr = 0x00106f24, .prod = 0x0000c242, .disable = 0x00000000},
179 {.addr = 0x0041be00, .prod = 0x00000004, .disable = 0x00000007},
180 {.addr = 0x00100d10, .prod = 0x0000c242, .disable = 0x00000000},
181 {.addr = 0x0017ea70, .prod = 0x00000044, .disable = 0x00000000},
182 {.addr = 0x00001c00, .prod = 0x00000042, .disable = 0x00000000},
183 {.addr = 0x00100c98, .prod = 0x00000242, .disable = 0x00000000},
184 {.addr = 0x0017e030, .prod = 0x00000044, .disable = 0x00000000},
185};
186
187/* pg gr */
188const struct gating_desc gk20a_pg_gr[] = {
189 {.addr = 0x004041f8, .prod = 0x10940000, .disable = 0x00000000},
190 {.addr = 0x004041fc, .prod = 0xff00a725, .disable = 0x00000000},
191 {.addr = 0x00409898, .prod = 0x10140000, .disable = 0x00000000},
192 {.addr = 0x0040989c, .prod = 0xff00000a, .disable = 0x00000000},
193 {.addr = 0x004078c8, .prod = 0x10940000, .disable = 0x00000000},
194 {.addr = 0x004078cc, .prod = 0xff00a725, .disable = 0x00000000},
195 {.addr = 0x00406008, .prod = 0x10940000, .disable = 0x00000000},
196 {.addr = 0x0040600c, .prod = 0xff00a725, .disable = 0x00000000},
197 {.addr = 0x00405868, .prod = 0x10940000, .disable = 0x00000000},
198 {.addr = 0x0040586c, .prod = 0xff00a725, .disable = 0x00000000},
199 {.addr = 0x00405914, .prod = 0x10940000, .disable = 0x00000000},
200 {.addr = 0x00405924, .prod = 0xff00a725, .disable = 0x00000000},
201 {.addr = 0x00408048, .prod = 0x10940000, .disable = 0x00000000},
202 {.addr = 0x0040804c, .prod = 0xff00a725, .disable = 0x00000000},
203 {.addr = 0x00407008, .prod = 0x10140000, .disable = 0x00000000},
204 {.addr = 0x0040700c, .prod = 0xff00000a, .disable = 0x00000000},
205 {.addr = 0x00405bf8, .prod = 0x10940000, .disable = 0x00000000},
206 {.addr = 0x00405bfc, .prod = 0xff00a725, .disable = 0x00000000},
207 {.addr = 0x0041a898, .prod = 0x10140000, .disable = 0x00000000},
208 {.addr = 0x0041a89c, .prod = 0xff00000a, .disable = 0x00000000},
209 {.addr = 0x00418510, .prod = 0x10940000, .disable = 0x00000000},
210 {.addr = 0x00418514, .prod = 0xff00a725, .disable = 0x00000000},
211 {.addr = 0x00418610, .prod = 0x10940000, .disable = 0x00000000},
212 {.addr = 0x00418614, .prod = 0xff00a725, .disable = 0x00000000},
213 {.addr = 0x00418690, .prod = 0x10940000, .disable = 0x00000000},
214 {.addr = 0x00418694, .prod = 0xff00a725, .disable = 0x00000000},
215 {.addr = 0x00418720, .prod = 0x10940000, .disable = 0x00000000},
216 {.addr = 0x00418724, .prod = 0xff00a725, .disable = 0x00000000},
217 {.addr = 0x00418840, .prod = 0x10940000, .disable = 0x00000000},
218 {.addr = 0x00418844, .prod = 0xff00a725, .disable = 0x00000000},
219 {.addr = 0x00418bc4, .prod = 0x10940000, .disable = 0x00000000},
220 {.addr = 0x00418bc8, .prod = 0xff00a725, .disable = 0x00000000},
221 {.addr = 0x00418978, .prod = 0x10940000, .disable = 0x00000000},
222 {.addr = 0x0041897c, .prod = 0xff00a725, .disable = 0x00000000},
223 {.addr = 0x00418c78, .prod = 0x10940000, .disable = 0x00000000},
224 {.addr = 0x00418c7c, .prod = 0xff00a725, .disable = 0x00000000},
225 {.addr = 0x00418cf8, .prod = 0x10940000, .disable = 0x00000000},
226 {.addr = 0x00418cfc, .prod = 0xff00a725, .disable = 0x00000000},
227 {.addr = 0x00418d78, .prod = 0x10940000, .disable = 0x00000000},
228 {.addr = 0x00418d7c, .prod = 0xff00a725, .disable = 0x00000000},
229 {.addr = 0x00418f14, .prod = 0x10940000, .disable = 0x00000000},
230 {.addr = 0x00418f18, .prod = 0xff00a725, .disable = 0x00000000},
231 {.addr = 0x00418e14, .prod = 0x10940000, .disable = 0x00000000},
232 {.addr = 0x00418e18, .prod = 0xff00a725, .disable = 0x00000000},
233 {.addr = 0x00419030, .prod = 0x10940000, .disable = 0x00000000},
234 {.addr = 0x00419050, .prod = 0xff00a725, .disable = 0x00000000},
235 {.addr = 0x00419a88, .prod = 0x10940000, .disable = 0x00000000},
236 {.addr = 0x00419a8c, .prod = 0xff00a725, .disable = 0x00000000},
237 {.addr = 0x00419a90, .prod = 0x10940000, .disable = 0x00000000},
238 {.addr = 0x00419a94, .prod = 0xff00a725, .disable = 0x00000000},
239 {.addr = 0x00419a98, .prod = 0x10940000, .disable = 0x00000000},
240 {.addr = 0x00419a9c, .prod = 0xff00a725, .disable = 0x00000000},
241 {.addr = 0x00419aa0, .prod = 0x10940000, .disable = 0x00000000},
242 {.addr = 0x00419aa4, .prod = 0xff00a725, .disable = 0x00000000},
243 {.addr = 0x00419ad4, .prod = 0x10940000, .disable = 0x00000000},
244 {.addr = 0x00419ad8, .prod = 0xff00a725, .disable = 0x00000000},
245 {.addr = 0x00419870, .prod = 0x10940000, .disable = 0x00000000},
246 {.addr = 0x00419874, .prod = 0xff00a725, .disable = 0x00000000},
247 {.addr = 0x00419ce4, .prod = 0x10940000, .disable = 0x00000000},
248 {.addr = 0x00419cf0, .prod = 0xff00a725, .disable = 0x00000000},
249 {.addr = 0x00419c78, .prod = 0x10940000, .disable = 0x00000000},
250 {.addr = 0x00419c7c, .prod = 0xff00a725, .disable = 0x00000000},
251 {.addr = 0x00419fa0, .prod = 0x10940000, .disable = 0x00000000},
252 {.addr = 0x00419fa4, .prod = 0xff00a725, .disable = 0x00000000},
253 {.addr = 0x00419fa8, .prod = 0x10940000, .disable = 0x00000000},
254 {.addr = 0x00419fac, .prod = 0xff00a725, .disable = 0x00000000},
255 {.addr = 0x00419fb0, .prod = 0x10940000, .disable = 0x00000000},
256 {.addr = 0x00419fb4, .prod = 0xff00a725, .disable = 0x00000000},
257 {.addr = 0x00419fb8, .prod = 0x10940000, .disable = 0x00000000},
258 {.addr = 0x00419fbc, .prod = 0xff00a725, .disable = 0x00000000},
259 {.addr = 0x00419fc0, .prod = 0x10940000, .disable = 0x00000000},
260 {.addr = 0x00419fc4, .prod = 0xff00a725, .disable = 0x00000000},
261 {.addr = 0x00419fc8, .prod = 0x10940000, .disable = 0x00000000},
262 {.addr = 0x00419fcc, .prod = 0xff00a725, .disable = 0x00000000},
263 {.addr = 0x0041be30, .prod = 0x10940000, .disable = 0x00000000},
264 {.addr = 0x0041be34, .prod = 0xff00a725, .disable = 0x00000000},
265 {.addr = 0x0041bff0, .prod = 0x10747c00, .disable = 0x00000000},
266 {.addr = 0x0041bff4, .prod = 0xff00000a, .disable = 0x00000000},
267 {.addr = 0x0041bed8, .prod = 0x10240a00, .disable = 0x00000000},
268 {.addr = 0x0041bee0, .prod = 0xff00000a, .disable = 0x00000000},
269 {.addr = 0x00408820, .prod = 0x10940000, .disable = 0x00000000},
270 {.addr = 0x00408824, .prod = 0xff00a725, .disable = 0x00000000},
271 {.addr = 0x00408828, .prod = 0x10940000, .disable = 0x00000000},
272 {.addr = 0x0040882c, .prod = 0xff00a725, .disable = 0x00000000},
273 {.addr = 0x00408ac0, .prod = 0x10940000, .disable = 0x00000000},
274 {.addr = 0x00408ac4, .prod = 0xff00a725, .disable = 0x00000000},
275 {.addr = 0x00408ac8, .prod = 0x10940000, .disable = 0x00000000},
276 {.addr = 0x00408acc, .prod = 0xff00a725, .disable = 0x00000000},
277 {.addr = 0x00408ad0, .prod = 0x10940000, .disable = 0x00000000},
278 {.addr = 0x00408ad4, .prod = 0xff00a725, .disable = 0x00000000},
279 {.addr = 0x00408ad8, .prod = 0x10940000, .disable = 0x00000000},
280 {.addr = 0x00408adc, .prod = 0xff00a725, .disable = 0x00000000},
281 {.addr = 0x00408ae0, .prod = 0x10940000, .disable = 0x00000000},
282 {.addr = 0x00408ae4, .prod = 0xff00a725, .disable = 0x00000000},
283 {.addr = 0x00408ae8, .prod = 0x10940000, .disable = 0x00000000},
284 {.addr = 0x00408aec, .prod = 0xff00a725, .disable = 0x00000000},
285 {.addr = 0x004089c0, .prod = 0x10940000, .disable = 0x00000000},
286 {.addr = 0x004089c4, .prod = 0xff00a725, .disable = 0x00000000},
287 {.addr = 0x004089c8, .prod = 0x10940000, .disable = 0x00000000},
288 {.addr = 0x004089cc, .prod = 0xff00a725, .disable = 0x00000000},
289 {.addr = 0x004089d0, .prod = 0x10940000, .disable = 0x00000000},
290 {.addr = 0x004089d4, .prod = 0xff00a725, .disable = 0x00000000},
291};
292
293/* therm gr */
294const struct gating_desc gk20a_slcg_therm[] = {
295 {.addr = 0x000206b8, .prod = 0x00000000, .disable = 0x0000000f},
296};
297
298/* static inline functions */
299void gr_gk20a_slcg_gr_load_gating_prod(struct gk20a *g,
300 bool prod)
301{
302 u32 i;
303 u32 size = sizeof(gk20a_slcg_gr) / sizeof(struct gating_desc);
304 for (i = 0; i < size; i++) {
305 if (prod)
306 gk20a_writel(g, gk20a_slcg_gr[i].addr,
307 gk20a_slcg_gr[i].prod);
308 else
309 gk20a_writel(g, gk20a_slcg_gr[i].addr,
310 gk20a_slcg_gr[i].disable);
311 }
312}
313
314void gr_gk20a_slcg_perf_load_gating_prod(struct gk20a *g,
315 bool prod)
316{
317 u32 i;
318 u32 size = sizeof(gk20a_slcg_perf) / sizeof(struct gating_desc);
319 for (i = 0; i < size; i++) {
320 if (prod)
321 gk20a_writel(g, gk20a_slcg_perf[i].addr,
322 gk20a_slcg_perf[i].prod);
323 else
324 gk20a_writel(g, gk20a_slcg_perf[i].addr,
325 gk20a_slcg_perf[i].disable);
326 }
327}
328
329void gr_gk20a_blcg_gr_load_gating_prod(struct gk20a *g,
330 bool prod)
331{
332 u32 i;
333 u32 size = sizeof(gk20a_blcg_gr) / sizeof(struct gating_desc);
334 for (i = 0; i < size; i++) {
335 if (prod)
336 gk20a_writel(g, gk20a_blcg_gr[i].addr,
337 gk20a_blcg_gr[i].prod);
338 else
339 gk20a_writel(g, gk20a_blcg_gr[i].addr,
340 gk20a_blcg_gr[i].disable);
341 }
342}
343
344void gr_gk20a_pg_gr_load_gating_prod(struct gk20a *g,
345 bool prod)
346{
347 u32 i;
348 u32 size = sizeof(gk20a_pg_gr) / sizeof(struct gating_desc);
349 for (i = 0; i < size; i++) {
350 if (prod)
351 gk20a_writel(g, gk20a_pg_gr[i].addr,
352 gk20a_pg_gr[i].prod);
353 else
354 gk20a_writel(g, gk20a_pg_gr[i].addr,
355 gk20a_pg_gr[i].disable);
356 }
357}
358
359void gr_gk20a_slcg_therm_load_gating_prod(struct gk20a *g,
360 bool prod)
361{
362 u32 i;
363 u32 size = sizeof(gk20a_slcg_therm) / sizeof(struct gating_desc);
364 for (i = 0; i < size; i++) {
365 if (prod)
366 gk20a_writel(g, gk20a_slcg_therm[i].addr,
367 gk20a_slcg_therm[i].prod);
368 else
369 gk20a_writel(g, gk20a_slcg_therm[i].addr,
370 gk20a_slcg_therm[i].disable);
371 }
372}
373
374#endif /* __gk20a_gating_reglist_h__ */