diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.c | 49 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.h | 8 |
2 files changed, 31 insertions, 26 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.c b/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.c index 32bfff36..20bfe255 100644 --- a/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.c +++ b/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.c | |||
@@ -29,17 +29,17 @@ struct gating_desc { | |||
29 | u32 disable; | 29 | u32 disable; |
30 | }; | 30 | }; |
31 | /* slcg bus */ | 31 | /* slcg bus */ |
32 | const struct gating_desc gm20b_slcg_bus[] = { | 32 | static const struct gating_desc gm20b_slcg_bus[] = { |
33 | {.addr = 0x00001c04, .prod = 0x00000000, .disable = 0x000003fe}, | 33 | {.addr = 0x00001c04, .prod = 0x00000000, .disable = 0x000003fe}, |
34 | }; | 34 | }; |
35 | 35 | ||
36 | /* slcg ce2 */ | 36 | /* slcg ce2 */ |
37 | const struct gating_desc gm20b_slcg_ce2[] = { | 37 | static const struct gating_desc gm20b_slcg_ce2[] = { |
38 | {.addr = 0x00106f28, .prod = 0x00000000, .disable = 0x000007fe}, | 38 | {.addr = 0x00106f28, .prod = 0x00000000, .disable = 0x000007fe}, |
39 | }; | 39 | }; |
40 | 40 | ||
41 | /* slcg chiplet */ | 41 | /* slcg chiplet */ |
42 | const struct gating_desc gm20b_slcg_chiplet[] = { | 42 | static const struct gating_desc gm20b_slcg_chiplet[] = { |
43 | {.addr = 0x0010c07c, .prod = 0x00000000, .disable = 0x00000007}, | 43 | {.addr = 0x0010c07c, .prod = 0x00000000, .disable = 0x00000007}, |
44 | {.addr = 0x0010e07c, .prod = 0x00000000, .disable = 0x00000007}, | 44 | {.addr = 0x0010e07c, .prod = 0x00000000, .disable = 0x00000007}, |
45 | {.addr = 0x0010d07c, .prod = 0x00000000, .disable = 0x00000007}, | 45 | {.addr = 0x0010d07c, .prod = 0x00000000, .disable = 0x00000007}, |
@@ -47,18 +47,18 @@ const struct gating_desc gm20b_slcg_chiplet[] = { | |||
47 | }; | 47 | }; |
48 | 48 | ||
49 | /* slcg fb */ | 49 | /* slcg fb */ |
50 | const struct gating_desc gm20b_slcg_fb[] = { | 50 | static const struct gating_desc gm20b_slcg_fb[] = { |
51 | {.addr = 0x00100d14, .prod = 0x00000020, .disable = 0xfffffffe}, | 51 | {.addr = 0x00100d14, .prod = 0x00000020, .disable = 0xfffffffe}, |
52 | {.addr = 0x00100c9c, .prod = 0x00000000, .disable = 0x000001fe}, | 52 | {.addr = 0x00100c9c, .prod = 0x00000000, .disable = 0x000001fe}, |
53 | }; | 53 | }; |
54 | 54 | ||
55 | /* slcg fifo */ | 55 | /* slcg fifo */ |
56 | const struct gating_desc gm20b_slcg_fifo[] = { | 56 | static const struct gating_desc gm20b_slcg_fifo[] = { |
57 | {.addr = 0x000026ac, .prod = 0x00000100, .disable = 0x0001fffe}, | 57 | {.addr = 0x000026ac, .prod = 0x00000100, .disable = 0x0001fffe}, |
58 | }; | 58 | }; |
59 | 59 | ||
60 | /* slcg gr */ | 60 | /* slcg gr */ |
61 | const struct gating_desc gm20b_slcg_gr[] = { | 61 | static const struct gating_desc gm20b_slcg_gr[] = { |
62 | {.addr = 0x004041f4, .prod = 0x00000000, .disable = 0x03fffffe}, | 62 | {.addr = 0x004041f4, .prod = 0x00000000, .disable = 0x03fffffe}, |
63 | {.addr = 0x0040917c, .prod = 0x00020008, .disable = 0x0003fffe}, | 63 | {.addr = 0x0040917c, .prod = 0x00020008, .disable = 0x0003fffe}, |
64 | {.addr = 0x00409894, .prod = 0x00000040, .disable = 0x0003fffe}, | 64 | {.addr = 0x00409894, .prod = 0x00000040, .disable = 0x0003fffe}, |
@@ -120,13 +120,13 @@ const struct gating_desc gm20b_slcg_gr[] = { | |||
120 | }; | 120 | }; |
121 | 121 | ||
122 | /* slcg ltc */ | 122 | /* slcg ltc */ |
123 | const struct gating_desc gm20b_slcg_ltc[] = { | 123 | static const struct gating_desc gm20b_slcg_ltc[] = { |
124 | {.addr = 0x0017e050, .prod = 0x00000000, .disable = 0xfffffffe}, | 124 | {.addr = 0x0017e050, .prod = 0x00000000, .disable = 0xfffffffe}, |
125 | {.addr = 0x0017e35c, .prod = 0x00000000, .disable = 0xfffffffe}, | 125 | {.addr = 0x0017e35c, .prod = 0x00000000, .disable = 0xfffffffe}, |
126 | }; | 126 | }; |
127 | 127 | ||
128 | /* slcg perf */ | 128 | /* slcg perf */ |
129 | const struct gating_desc gm20b_slcg_perf[] = { | 129 | static const struct gating_desc gm20b_slcg_perf[] = { |
130 | {.addr = 0x001be018, .prod = 0x000001ff, .disable = 0x00000000}, | 130 | {.addr = 0x001be018, .prod = 0x000001ff, .disable = 0x00000000}, |
131 | {.addr = 0x001bc018, .prod = 0x000001ff, .disable = 0x00000000}, | 131 | {.addr = 0x001bc018, .prod = 0x000001ff, .disable = 0x00000000}, |
132 | {.addr = 0x001b8018, .prod = 0x000001ff, .disable = 0x00000000}, | 132 | {.addr = 0x001b8018, .prod = 0x000001ff, .disable = 0x00000000}, |
@@ -134,12 +134,12 @@ const struct gating_desc gm20b_slcg_perf[] = { | |||
134 | }; | 134 | }; |
135 | 135 | ||
136 | /* slcg PriRing */ | 136 | /* slcg PriRing */ |
137 | const struct gating_desc gm20b_slcg_priring[] = { | 137 | static const struct gating_desc gm20b_slcg_priring[] = { |
138 | {.addr = 0x001200a8, .prod = 0x00000000, .disable = 0x00000001}, | 138 | {.addr = 0x001200a8, .prod = 0x00000000, .disable = 0x00000001}, |
139 | }; | 139 | }; |
140 | 140 | ||
141 | /* slcg pwr_csb */ | 141 | /* slcg pwr_csb */ |
142 | const struct gating_desc gm20b_slcg_pwr_csb[] = { | 142 | static const struct gating_desc gm20b_slcg_pwr_csb[] = { |
143 | {.addr = 0x0000017c, .prod = 0x00020008, .disable = 0x0003fffe}, | 143 | {.addr = 0x0000017c, .prod = 0x00020008, .disable = 0x0003fffe}, |
144 | {.addr = 0x00000e74, .prod = 0x00000000, .disable = 0x0000000f}, | 144 | {.addr = 0x00000e74, .prod = 0x00000000, .disable = 0x0000000f}, |
145 | {.addr = 0x00000a74, .prod = 0x00000000, .disable = 0x00007ffe}, | 145 | {.addr = 0x00000a74, .prod = 0x00000000, .disable = 0x00007ffe}, |
@@ -147,34 +147,34 @@ const struct gating_desc gm20b_slcg_pwr_csb[] = { | |||
147 | }; | 147 | }; |
148 | 148 | ||
149 | /* slcg pmu */ | 149 | /* slcg pmu */ |
150 | const struct gating_desc gm20b_slcg_pmu[] = { | 150 | static const struct gating_desc gm20b_slcg_pmu[] = { |
151 | {.addr = 0x0010a17c, .prod = 0x00020008, .disable = 0x0003fffe}, | 151 | {.addr = 0x0010a17c, .prod = 0x00020008, .disable = 0x0003fffe}, |
152 | {.addr = 0x0010aa74, .prod = 0x00000000, .disable = 0x00007ffe}, | 152 | {.addr = 0x0010aa74, .prod = 0x00000000, .disable = 0x00007ffe}, |
153 | {.addr = 0x0010ae74, .prod = 0x00000000, .disable = 0x0000000f}, | 153 | {.addr = 0x0010ae74, .prod = 0x00000000, .disable = 0x0000000f}, |
154 | }; | 154 | }; |
155 | 155 | ||
156 | /* therm gr */ | 156 | /* therm gr */ |
157 | const struct gating_desc gm20b_slcg_therm[] = { | 157 | static const struct gating_desc gm20b_slcg_therm[] = { |
158 | {.addr = 0x000206b8, .prod = 0x00000000, .disable = 0x0000000f}, | 158 | {.addr = 0x000206b8, .prod = 0x00000000, .disable = 0x0000000f}, |
159 | }; | 159 | }; |
160 | 160 | ||
161 | /* slcg Xbar */ | 161 | /* slcg Xbar */ |
162 | const struct gating_desc gm20b_slcg_xbar[] = { | 162 | static const struct gating_desc gm20b_slcg_xbar[] = { |
163 | {.addr = 0x0013cbe4, .prod = 0x00000000, .disable = 0x1ffffffe}, | 163 | {.addr = 0x0013cbe4, .prod = 0x00000000, .disable = 0x1ffffffe}, |
164 | {.addr = 0x0013cc04, .prod = 0x00000000, .disable = 0x1ffffffe}, | 164 | {.addr = 0x0013cc04, .prod = 0x00000000, .disable = 0x1ffffffe}, |
165 | }; | 165 | }; |
166 | 166 | ||
167 | /* blcg bus */ | 167 | /* blcg bus */ |
168 | const struct gating_desc gm20b_blcg_bus[] = { | 168 | static const struct gating_desc gm20b_blcg_bus[] = { |
169 | {.addr = 0x00001c00, .prod = 0x00000042, .disable = 0x00000000}, | 169 | {.addr = 0x00001c00, .prod = 0x00000042, .disable = 0x00000000}, |
170 | }; | 170 | }; |
171 | 171 | ||
172 | /* blcg ctxsw prog */ | 172 | /* blcg ctxsw prog */ |
173 | const struct gating_desc gm20b_blcg_ctxsw_prog[] = { | 173 | static const struct gating_desc gm20b_blcg_ctxsw_prog[] = { |
174 | }; | 174 | }; |
175 | 175 | ||
176 | /* blcg fb */ | 176 | /* blcg fb */ |
177 | const struct gating_desc gm20b_blcg_fb[] = { | 177 | static const struct gating_desc gm20b_blcg_fb[] = { |
178 | {.addr = 0x00100d10, .prod = 0x0000c242, .disable = 0x00000000}, | 178 | {.addr = 0x00100d10, .prod = 0x0000c242, .disable = 0x00000000}, |
179 | {.addr = 0x00100d30, .prod = 0x0000c242, .disable = 0x00000000}, | 179 | {.addr = 0x00100d30, .prod = 0x0000c242, .disable = 0x00000000}, |
180 | {.addr = 0x00100d3c, .prod = 0x00000242, .disable = 0x00000000}, | 180 | {.addr = 0x00100d3c, .prod = 0x00000242, .disable = 0x00000000}, |
@@ -184,12 +184,12 @@ const struct gating_desc gm20b_blcg_fb[] = { | |||
184 | }; | 184 | }; |
185 | 185 | ||
186 | /* blcg fifo */ | 186 | /* blcg fifo */ |
187 | const struct gating_desc gm20b_blcg_fifo[] = { | 187 | static const struct gating_desc gm20b_blcg_fifo[] = { |
188 | {.addr = 0x000026a4, .prod = 0x0000c242, .disable = 0x00000000}, | 188 | {.addr = 0x000026a4, .prod = 0x0000c242, .disable = 0x00000000}, |
189 | }; | 189 | }; |
190 | 190 | ||
191 | /* blcg gr */ | 191 | /* blcg gr */ |
192 | const struct gating_desc gm20b_blcg_gr[] = { | 192 | static const struct gating_desc gm20b_blcg_gr[] = { |
193 | {.addr = 0x004041f0, .prod = 0x00004046, .disable = 0x00000000}, | 193 | {.addr = 0x004041f0, .prod = 0x00004046, .disable = 0x00000000}, |
194 | {.addr = 0x00409890, .prod = 0x0000007f, .disable = 0x00000000}, | 194 | {.addr = 0x00409890, .prod = 0x0000007f, .disable = 0x00000000}, |
195 | {.addr = 0x004098b0, .prod = 0x0000007f, .disable = 0x00000000}, | 195 | {.addr = 0x004098b0, .prod = 0x0000007f, .disable = 0x00000000}, |
@@ -254,7 +254,7 @@ const struct gating_desc gm20b_blcg_gr[] = { | |||
254 | }; | 254 | }; |
255 | 255 | ||
256 | /* blcg ltc */ | 256 | /* blcg ltc */ |
257 | const struct gating_desc gm20b_blcg_ltc[] = { | 257 | static const struct gating_desc gm20b_blcg_ltc[] = { |
258 | {.addr = 0x0017e030, .prod = 0x00000044, .disable = 0x00000000}, | 258 | {.addr = 0x0017e030, .prod = 0x00000044, .disable = 0x00000000}, |
259 | {.addr = 0x0017e040, .prod = 0x00000044, .disable = 0x00000000}, | 259 | {.addr = 0x0017e040, .prod = 0x00000044, .disable = 0x00000000}, |
260 | {.addr = 0x0017e3e0, .prod = 0x00000044, .disable = 0x00000000}, | 260 | {.addr = 0x0017e3e0, .prod = 0x00000044, .disable = 0x00000000}, |
@@ -262,26 +262,26 @@ const struct gating_desc gm20b_blcg_ltc[] = { | |||
262 | }; | 262 | }; |
263 | 263 | ||
264 | /* blcg pwr_csb */ | 264 | /* blcg pwr_csb */ |
265 | const struct gating_desc gm20b_blcg_pwr_csb[] = { | 265 | static const struct gating_desc gm20b_blcg_pwr_csb[] = { |
266 | {.addr = 0x00000a70, .prod = 0x00000045, .disable = 0x00000000}, | 266 | {.addr = 0x00000a70, .prod = 0x00000045, .disable = 0x00000000}, |
267 | }; | 267 | }; |
268 | 268 | ||
269 | /* blcg pmu */ | 269 | /* blcg pmu */ |
270 | const struct gating_desc gm20b_blcg_pmu[] = { | 270 | static const struct gating_desc gm20b_blcg_pmu[] = { |
271 | {.addr = 0x0010aa70, .prod = 0x00000045, .disable = 0x00000000}, | 271 | {.addr = 0x0010aa70, .prod = 0x00000045, .disable = 0x00000000}, |
272 | }; | 272 | }; |
273 | 273 | ||
274 | /* blcg Xbar */ | 274 | /* blcg Xbar */ |
275 | const struct gating_desc gm20b_blcg_xbar[] = { | 275 | static const struct gating_desc gm20b_blcg_xbar[] = { |
276 | {.addr = 0x0013cbe0, .prod = 0x00000042, .disable = 0x00000000}, | 276 | {.addr = 0x0013cbe0, .prod = 0x00000042, .disable = 0x00000000}, |
277 | {.addr = 0x0013cc00, .prod = 0x00000042, .disable = 0x00000000}, | 277 | {.addr = 0x0013cc00, .prod = 0x00000042, .disable = 0x00000000}, |
278 | }; | 278 | }; |
279 | 279 | ||
280 | /* pg gr */ | 280 | /* pg gr */ |
281 | const struct gating_desc gm20b_pg_gr[] = { | 281 | static const struct gating_desc gm20b_pg_gr[] = { |
282 | }; | 282 | }; |
283 | 283 | ||
284 | /* static inline functions */ | 284 | /* inline functions */ |
285 | void gm20b_slcg_bus_load_gating_prod(struct gk20a *g, | 285 | void gm20b_slcg_bus_load_gating_prod(struct gk20a *g, |
286 | bool prod) | 286 | bool prod) |
287 | { | 287 | { |
@@ -297,7 +297,6 @@ void gm20b_slcg_bus_load_gating_prod(struct gk20a *g, | |||
297 | } | 297 | } |
298 | } | 298 | } |
299 | 299 | ||
300 | /* static inline functions */ | ||
301 | void gm20b_slcg_ce2_load_gating_prod(struct gk20a *g, | 300 | void gm20b_slcg_ce2_load_gating_prod(struct gk20a *g, |
302 | bool prod) | 301 | bool prod) |
303 | { | 302 | { |
diff --git a/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.h b/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.h index 6f51e50d..7cdd708d 100644 --- a/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.h +++ b/drivers/gpu/nvgpu/gm20b/gm20b_gating_reglist.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * drivers/video/tegra/host/gm20b/gm20b_gating_reglist.h | 2 | * drivers/video/tegra/host/gm20b/gm20b_gating_reglist.h |
3 | * | 3 | * |
4 | * Copyright (c) 2014, NVIDIA Corporation. All rights reserved. | 4 | * Copyright (c) 2014-2015, NVIDIA Corporation. All rights reserved. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
@@ -51,6 +51,9 @@ void gm20b_slcg_perf_load_gating_prod(struct gk20a *g, | |||
51 | void gm20b_slcg_priring_load_gating_prod(struct gk20a *g, | 51 | void gm20b_slcg_priring_load_gating_prod(struct gk20a *g, |
52 | bool prod); | 52 | bool prod); |
53 | 53 | ||
54 | void gm20b_slcg_pwr_csb_load_gating_prod(struct gk20a *g, | ||
55 | bool prod); | ||
56 | |||
54 | void gm20b_slcg_pmu_load_gating_prod(struct gk20a *g, | 57 | void gm20b_slcg_pmu_load_gating_prod(struct gk20a *g, |
55 | bool prod); | 58 | bool prod); |
56 | 59 | ||
@@ -84,6 +87,9 @@ void gm20b_blcg_pwr_csb_load_gating_prod(struct gk20a *g, | |||
84 | void gm20b_blcg_pmu_load_gating_prod(struct gk20a *g, | 87 | void gm20b_blcg_pmu_load_gating_prod(struct gk20a *g, |
85 | bool prod); | 88 | bool prod); |
86 | 89 | ||
90 | void gm20b_blcg_xbar_load_gating_prod(struct gk20a *g, | ||
91 | bool prod); | ||
92 | |||
87 | void gr_gm20b_pg_gr_load_gating_prod(struct gk20a *g, | 93 | void gr_gm20b_pg_gr_load_gating_prod(struct gk20a *g, |
88 | bool prod); | 94 | bool prod); |
89 | 95 | ||