diff options
author | Sami Kiminki <skiminki@nvidia.com> | 2017-11-02 16:03:15 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-10 11:38:19 -0500 |
commit | cefabe7eb1f1f1dba9692e21ab4f1b88b9163489 (patch) | |
tree | b0f4e6ce64cd408e780925b8b3365b45805b7d95 /drivers/gpu/nvgpu/gk20a/kind_gk20a.c | |
parent | b584bf8aa814d026498ebcee23480d1963338e47 (diff) |
gpu: nvgpu: Remove PTE kind logic
Since NVGPU_AS_MAP_BUFFER_FLAGS_DIRECT_KIND_CTRL was made mandatory,
kernel does not need to know the details about the PTE kinds
anymore. Thus, we can remove the kind_gk20a.h header and the code
related to kind table setup, as well as simplify buffer mapping code
a bit.
Bug 1902982
Change-Id: Iaf798023c219a64fb0a84da09431c5ce4bc046eb
Signed-off-by: Sami Kiminki <skiminki@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1560933
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/kind_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/kind_gk20a.c | 414 |
1 files changed, 0 insertions, 414 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/kind_gk20a.c b/drivers/gpu/nvgpu/gk20a/kind_gk20a.c deleted file mode 100644 index 2d7eae0a..00000000 --- a/drivers/gpu/nvgpu/gk20a/kind_gk20a.c +++ /dev/null | |||
@@ -1,414 +0,0 @@ | |||
1 | /* | ||
2 | * GK20A memory kind management | ||
3 | * | ||
4 | * Copyright (c) 2011-2017, NVIDIA CORPORATION. All rights reserved. | ||
5 | * | ||
6 | * Permission is hereby granted, free of charge, to any person obtaining a | ||
7 | * copy of this software and associated documentation files (the "Software"), | ||
8 | * to deal in the Software without restriction, including without limitation | ||
9 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
10 | * and/or sell copies of the Software, and to permit persons to whom the | ||
11 | * Software is furnished to do so, subject to the following conditions: | ||
12 | * | ||
13 | * The above copyright notice and this permission notice shall be included in | ||
14 | * all copies or substantial portions of the Software. | ||
15 | * | ||
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
22 | * DEALINGS IN THE SOFTWARE. | ||
23 | */ | ||
24 | |||
25 | #include "kind_gk20a.h" | ||
26 | |||
27 | #include <nvgpu/hw/gk20a/hw_gmmu_gk20a.h> | ||
28 | |||
29 | /* TBD: generate these from kind_macros.h */ | ||
30 | |||
31 | /* | ||
32 | * Use noinline_for_stack for these huge functions, otherwise GCC 4.7 will | ||
33 | * blow up when building a coverage-enabled kernel. (error: the frame size of | ||
34 | * 1232 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]) | ||
35 | */ | ||
36 | |||
37 | /* note: taken from the !2cs_compression case */ | ||
38 | static noinline_for_stack bool gk20a_kind_supported(u8 k) | ||
39 | { | ||
40 | return gk20a_kind_work_creation(k) | ||
41 | || (k == gmmu_pte_kind_invalid_v()) | ||
42 | || (k == gmmu_pte_kind_pitch_v()) | ||
43 | || (k >= gmmu_pte_kind_z16_v() && | ||
44 | k <= gmmu_pte_kind_z16_ms8_2c_v()) | ||
45 | || (k >= gmmu_pte_kind_z16_2z_v() && | ||
46 | k <= gmmu_pte_kind_z16_ms8_2z_v()) | ||
47 | || (k == gmmu_pte_kind_s8z24_v()) | ||
48 | || (k >= gmmu_pte_kind_s8z24_2cz_v() && | ||
49 | k <= gmmu_pte_kind_s8z24_ms8_2cz_v()) | ||
50 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_v() && | ||
51 | k <= gmmu_pte_kind_v8z24_ms8_vc24_v()) | ||
52 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_2czv_v() && | ||
53 | k <= gmmu_pte_kind_v8z24_ms8_vc24_2zv_v()) | ||
54 | || (k == gmmu_pte_kind_z24s8_v()) | ||
55 | || (k >= gmmu_pte_kind_z24s8_2cz_v() && | ||
56 | k <= gmmu_pte_kind_z24s8_ms8_2cz_v()) | ||
57 | || (k == gmmu_pte_kind_zf32_v()) | ||
58 | || (k >= gmmu_pte_kind_zf32_2cz_v() && | ||
59 | k <= gmmu_pte_kind_zf32_ms8_2cz_v()) | ||
60 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_v() && | ||
61 | k <= gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_v()) | ||
62 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_2cszv_v() && | ||
63 | k <= gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_v()) | ||
64 | || (k >= gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_2cszv_v() && | ||
65 | k <= gmmu_pte_kind_zf32_x24s8_v()) | ||
66 | || (k >= gmmu_pte_kind_zf32_x24s8_2cszv_v() && | ||
67 | k <= gmmu_pte_kind_zf32_x24s8_ms8_2cszv_v()) | ||
68 | || (k == gmmu_pte_kind_generic_16bx2_v()) | ||
69 | || (k == gmmu_pte_kind_c32_2c_v()) | ||
70 | || (k == gmmu_pte_kind_c32_2cra_v()) | ||
71 | || (k == gmmu_pte_kind_c32_ms2_2c_v()) | ||
72 | || (k == gmmu_pte_kind_c32_ms2_2cra_v()) | ||
73 | || (k >= gmmu_pte_kind_c32_ms4_2c_v() && | ||
74 | k <= gmmu_pte_kind_c32_ms4_2cbr_v()) | ||
75 | || (k >= gmmu_pte_kind_c32_ms4_2cra_v() && | ||
76 | k <= gmmu_pte_kind_c64_2c_v()) | ||
77 | || (k == gmmu_pte_kind_c64_2cra_v()) | ||
78 | || (k == gmmu_pte_kind_c64_ms2_2c_v()) | ||
79 | || (k == gmmu_pte_kind_c64_ms2_2cra_v()) | ||
80 | || (k >= gmmu_pte_kind_c64_ms4_2c_v() && | ||
81 | k <= gmmu_pte_kind_c64_ms4_2cbr_v()) | ||
82 | || (k >= gmmu_pte_kind_c64_ms4_2cra_v() && | ||
83 | k <= gmmu_pte_kind_c128_ms8_ms16_2cr_v()) | ||
84 | || (k == gmmu_pte_kind_pitch_no_swizzle_v()); | ||
85 | } | ||
86 | |||
87 | static noinline_for_stack bool gk20a_kind_z(u8 k) | ||
88 | { | ||
89 | return (k >= gmmu_pte_kind_z16_v() && | ||
90 | k <= gmmu_pte_kind_v8z24_ms8_vc24_v()) | ||
91 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_1zv_v() && | ||
92 | k <= gmmu_pte_kind_v8z24_ms8_vc24_2cs_v()) | ||
93 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_2czv_v() && | ||
94 | k <= gmmu_pte_kind_z24v8_ms8_vc24_v()) | ||
95 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_1zv_v() && | ||
96 | k <= gmmu_pte_kind_z24v8_ms8_vc24_2cs_v()) | ||
97 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_2czv_v() && | ||
98 | k <= gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_1cs_v()) | ||
99 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_1zv_v() && | ||
100 | k <= gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_1cs_v()) | ||
101 | || (k >= gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_1zv_v() && | ||
102 | k <= gmmu_pte_kind_zf32_x24s8_ms16_1cs_v()); | ||
103 | } | ||
104 | |||
105 | static noinline_for_stack bool gk20a_kind_c(u8 k) | ||
106 | { | ||
107 | return gk20a_kind_work_creation(k) | ||
108 | || (k == gmmu_pte_kind_pitch_v()) | ||
109 | || (k == gmmu_pte_kind_generic_16bx2_v()) | ||
110 | || (k >= gmmu_pte_kind_c32_2c_v() && | ||
111 | k <= gmmu_pte_kind_c32_ms2_2cbr_v()) | ||
112 | || (k == gmmu_pte_kind_c32_ms2_2cra_v()) | ||
113 | || (k >= gmmu_pte_kind_c32_ms4_2c_v() && | ||
114 | k <= gmmu_pte_kind_c64_ms2_2cbr_v()) | ||
115 | || (k == gmmu_pte_kind_c64_ms2_2cra_v()) | ||
116 | || (k >= gmmu_pte_kind_c64_ms4_2c_v() && | ||
117 | k <= gmmu_pte_kind_pitch_no_swizzle_v()); | ||
118 | } | ||
119 | |||
120 | static noinline_for_stack bool gk20a_kind_compressible(u8 k) | ||
121 | { | ||
122 | return (k >= gmmu_pte_kind_z16_2c_v() && | ||
123 | k <= gmmu_pte_kind_z16_ms16_4cz_v()) | ||
124 | || (k >= gmmu_pte_kind_s8z24_1z_v() && | ||
125 | k <= gmmu_pte_kind_s8z24_ms16_4cszv_v()) | ||
126 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_1zv_v() && | ||
127 | k <= gmmu_pte_kind_v8z24_ms8_vc24_2cs_v()) | ||
128 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_2czv_v() && | ||
129 | k <= gmmu_pte_kind_v8z24_ms8_vc24_4cszv_v()) | ||
130 | || (k >= gmmu_pte_kind_z24s8_1z_v() && | ||
131 | k <= gmmu_pte_kind_z24s8_ms16_4cszv_v()) | ||
132 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_1zv_v() && | ||
133 | k <= gmmu_pte_kind_z24v8_ms8_vc24_2cs_v()) | ||
134 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_2czv_v() && | ||
135 | k <= gmmu_pte_kind_z24v8_ms8_vc24_4cszv_v()) | ||
136 | || (k >= gmmu_pte_kind_zf32_1z_v() && | ||
137 | k <= gmmu_pte_kind_zf32_ms16_2cz_v()) | ||
138 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_1cs_v() && | ||
139 | k <= gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_1cs_v()) | ||
140 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_1zv_v() && | ||
141 | k <= gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_2cszv_v()) | ||
142 | || (k >= gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_1cs_v() && | ||
143 | k <= gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_1cs_v()) | ||
144 | || (k >= gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_1zv_v() && | ||
145 | k <= gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_2cszv_v()) | ||
146 | || (k >= gmmu_pte_kind_zf32_x24s8_1cs_v() && | ||
147 | k <= gmmu_pte_kind_zf32_x24s8_ms16_1cs_v()) | ||
148 | || (k >= gmmu_pte_kind_zf32_x24s8_2cszv_v() && | ||
149 | k <= gmmu_pte_kind_c32_ms2_2cbr_v()) | ||
150 | || (k == gmmu_pte_kind_c32_ms2_2cra_v()) | ||
151 | || (k >= gmmu_pte_kind_c32_ms4_2c_v() && | ||
152 | k <= gmmu_pte_kind_c64_ms2_2cbr_v()) | ||
153 | || (k == gmmu_pte_kind_c64_ms2_2cra_v()) | ||
154 | || (k >= gmmu_pte_kind_c64_ms4_2c_v() && | ||
155 | k <= gmmu_pte_kind_c128_ms8_ms16_2cr_v()); | ||
156 | } | ||
157 | |||
158 | static noinline_for_stack bool gk20a_kind_zbc(u8 k) | ||
159 | { | ||
160 | return (k >= gmmu_pte_kind_z16_2c_v() && | ||
161 | k <= gmmu_pte_kind_z16_ms16_2c_v()) | ||
162 | || (k >= gmmu_pte_kind_z16_4cz_v() && | ||
163 | k <= gmmu_pte_kind_z16_ms16_4cz_v()) | ||
164 | || (k >= gmmu_pte_kind_s8z24_2cz_v() && | ||
165 | k <= gmmu_pte_kind_s8z24_ms16_4cszv_v()) | ||
166 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_2cs_v() && | ||
167 | k <= gmmu_pte_kind_v8z24_ms8_vc24_2cs_v()) | ||
168 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_2czv_v() && | ||
169 | k <= gmmu_pte_kind_v8z24_ms8_vc24_2czv_v()) | ||
170 | || (k >= gmmu_pte_kind_v8z24_ms4_vc12_4cszv_v() && | ||
171 | k <= gmmu_pte_kind_v8z24_ms8_vc24_4cszv_v()) | ||
172 | || (k >= gmmu_pte_kind_z24s8_2cs_v() && | ||
173 | k <= gmmu_pte_kind_z24s8_ms16_4cszv_v()) | ||
174 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_2cs_v() && | ||
175 | k <= gmmu_pte_kind_z24v8_ms8_vc24_2cs_v()) | ||
176 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_2czv_v() && | ||
177 | k <= gmmu_pte_kind_z24v8_ms8_vc24_2czv_v()) | ||
178 | || (k >= gmmu_pte_kind_z24v8_ms4_vc12_4cszv_v() && | ||
179 | k <= gmmu_pte_kind_z24v8_ms8_vc24_4cszv_v()) | ||
180 | || (k >= gmmu_pte_kind_zf32_2cs_v() && | ||
181 | k <= gmmu_pte_kind_zf32_ms16_2cz_v()) | ||
182 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_1cs_v() && | ||
183 | k <= gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_1cs_v()) | ||
184 | || (k >= gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_1czv_v() && | ||
185 | k <= gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_2cszv_v()) | ||
186 | || (k >= gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_1cs_v() && | ||
187 | k <= gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_1cs_v()) | ||
188 | || (k >= gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_1czv_v() && | ||
189 | k <= gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_2cszv_v()) | ||
190 | || (k >= gmmu_pte_kind_zf32_x24s8_1cs_v() && | ||
191 | k <= gmmu_pte_kind_zf32_x24s8_ms16_1cs_v()) | ||
192 | || (k >= gmmu_pte_kind_zf32_x24s8_2cszv_v() && | ||
193 | k <= gmmu_pte_kind_c32_2cra_v()) | ||
194 | || (k >= gmmu_pte_kind_c32_ms2_2c_v() && | ||
195 | k <= gmmu_pte_kind_c32_ms2_2cbr_v()) | ||
196 | || (k == gmmu_pte_kind_c32_ms2_2cra_v()) | ||
197 | || (k >= gmmu_pte_kind_c32_ms4_2c_v() && | ||
198 | k <= gmmu_pte_kind_c32_ms4_2cra_v()) | ||
199 | || (k >= gmmu_pte_kind_c32_ms8_ms16_2c_v() && | ||
200 | k <= gmmu_pte_kind_c64_2cra_v()) | ||
201 | || (k >= gmmu_pte_kind_c64_ms2_2c_v() && | ||
202 | k <= gmmu_pte_kind_c64_ms2_2cbr_v()) | ||
203 | || (k == gmmu_pte_kind_c64_ms2_2cra_v()) | ||
204 | || (k >= gmmu_pte_kind_c64_ms4_2c_v() && | ||
205 | k <= gmmu_pte_kind_c64_ms4_2cra_v()) | ||
206 | || (k >= gmmu_pte_kind_c64_ms8_ms16_2c_v() && | ||
207 | k <= gmmu_pte_kind_c128_ms8_ms16_2cr_v()); | ||
208 | } | ||
209 | |||
210 | u8 gk20a_uc_kind_map[256]; | ||
211 | void gk20a_init_uncompressed_kind_map(void) | ||
212 | { | ||
213 | int i; | ||
214 | for (i = 0; i < 256; i++) | ||
215 | gk20a_uc_kind_map[i] = gmmu_pte_kind_invalid_v(); | ||
216 | |||
217 | gk20a_uc_kind_map[gmmu_pte_kind_z16_v()] = | ||
218 | gk20a_uc_kind_map[gmmu_pte_kind_z16_2c_v()] = | ||
219 | gk20a_uc_kind_map[gmmu_pte_kind_z16_ms2_2c_v()] = | ||
220 | gk20a_uc_kind_map[gmmu_pte_kind_z16_ms4_2c_v()] = | ||
221 | gk20a_uc_kind_map[gmmu_pte_kind_z16_ms8_2c_v()] = | ||
222 | gk20a_uc_kind_map[gmmu_pte_kind_z16_2z_v()] = | ||
223 | gk20a_uc_kind_map[gmmu_pte_kind_z16_ms2_2z_v()] = | ||
224 | gk20a_uc_kind_map[gmmu_pte_kind_z16_ms4_2z_v()] = | ||
225 | gk20a_uc_kind_map[gmmu_pte_kind_z16_ms8_2z_v()] = | ||
226 | gmmu_pte_kind_z16_v(); | ||
227 | |||
228 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_v()] = | ||
229 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_2cz_v()] = | ||
230 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_ms2_2cz_v()] = | ||
231 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_ms4_2cz_v()] = | ||
232 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_ms8_2cz_v()] = | ||
233 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_2cs_v()] = | ||
234 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_ms2_2cs_v()] = | ||
235 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_ms4_2cs_v()] = | ||
236 | gk20a_uc_kind_map[gmmu_pte_kind_s8z24_ms8_2cs_v()] = | ||
237 | gmmu_pte_kind_s8z24_v(); | ||
238 | |||
239 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc4_v()] = | ||
240 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc4_2cs_v()] = | ||
241 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc4_2czv_v()] = | ||
242 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc4_2zv_v()] = | ||
243 | gmmu_pte_kind_v8z24_ms4_vc4_v(); | ||
244 | |||
245 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc8_v()] = | ||
246 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc8_2cs_v()] = | ||
247 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc8_2czv_v()] = | ||
248 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc8_2zv_v()] = | ||
249 | gmmu_pte_kind_v8z24_ms8_vc8_v(); | ||
250 | |||
251 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc12_v()] = | ||
252 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc12_2cs_v()] = | ||
253 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc12_2czv_v()] = | ||
254 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms4_vc12_2zv_v()] = | ||
255 | gmmu_pte_kind_v8z24_ms4_vc12_v(); | ||
256 | |||
257 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc24_v()] = | ||
258 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc24_2cs_v()] = | ||
259 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc24_2czv_v()] = | ||
260 | gk20a_uc_kind_map[gmmu_pte_kind_v8z24_ms8_vc24_2zv_v()] = | ||
261 | gmmu_pte_kind_v8z24_ms8_vc24_v(); | ||
262 | |||
263 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_v()] = | ||
264 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_2cs_v()] = | ||
265 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_ms2_2cs_v()] = | ||
266 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_ms4_2cs_v()] = | ||
267 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_ms8_2cs_v()] = | ||
268 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_2cz_v()] = | ||
269 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_ms2_2cz_v()] = | ||
270 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_ms4_2cz_v()] = | ||
271 | gk20a_uc_kind_map[gmmu_pte_kind_z24s8_ms8_2cz_v()] = | ||
272 | gmmu_pte_kind_z24s8_v(); | ||
273 | |||
274 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_v()] = | ||
275 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_2cs_v()] = | ||
276 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_ms2_2cs_v()] = | ||
277 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_ms4_2cs_v()] = | ||
278 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_ms8_2cs_v()] = | ||
279 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_2cz_v()] = | ||
280 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_ms2_2cz_v()] = | ||
281 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_ms4_2cz_v()] = | ||
282 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_ms8_2cz_v()] = | ||
283 | gmmu_pte_kind_zf32_v(); | ||
284 | |||
285 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_v()] = | ||
286 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_2cs_v()] = | ||
287 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_2cszv_v()] = | ||
288 | gmmu_pte_kind_x8z24_x16v8s8_ms4_vc12_v(); | ||
289 | |||
290 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms4_vc4_v()] = | ||
291 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms4_vc4_2cs_v()] = | ||
292 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms4_vc4_2cszv_v()] = | ||
293 | gmmu_pte_kind_x8z24_x16v8s8_ms4_vc4_v(); | ||
294 | |||
295 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms8_vc8_v()] = | ||
296 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms8_vc8_2cs_v()] = | ||
297 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms8_vc8_2cszv_v()] = | ||
298 | gmmu_pte_kind_x8z24_x16v8s8_ms8_vc8_v(); | ||
299 | |||
300 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_v()] = | ||
301 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_2cs_v()] = | ||
302 | gk20a_uc_kind_map[gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_2cszv_v()] = | ||
303 | gmmu_pte_kind_x8z24_x16v8s8_ms8_vc24_v(); | ||
304 | |||
305 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_v()] = | ||
306 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_2cs_v()] = | ||
307 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_2cszv_v()] = | ||
308 | gmmu_pte_kind_zf32_x16v8s8_ms4_vc12_v(); | ||
309 | |||
310 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms4_vc4_v()] = | ||
311 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms4_vc4_2cs_v()] = | ||
312 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms4_vc4_2cszv_v()] = | ||
313 | gmmu_pte_kind_zf32_x16v8s8_ms4_vc4_v(); | ||
314 | |||
315 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms8_vc8_v()] = | ||
316 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms8_vc8_2cs_v()] = | ||
317 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms8_vc8_2cszv_v()] = | ||
318 | gmmu_pte_kind_zf32_x16v8s8_ms8_vc8_v(); | ||
319 | |||
320 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_v()] = | ||
321 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_2cs_v()] = | ||
322 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_2cszv_v()] = | ||
323 | gmmu_pte_kind_zf32_x16v8s8_ms8_vc24_v(); | ||
324 | |||
325 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_v()] = | ||
326 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_2cszv_v()] = | ||
327 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_ms2_2cszv_v()] = | ||
328 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_ms4_2cszv_v()] = | ||
329 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_ms8_2cszv_v()] = | ||
330 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_2cs_v()] = | ||
331 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_ms2_2cs_v()] = | ||
332 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_ms4_2cs_v()] = | ||
333 | gk20a_uc_kind_map[gmmu_pte_kind_zf32_x24s8_ms8_2cs_v()] = | ||
334 | gmmu_pte_kind_zf32_x24s8_v(); | ||
335 | |||
336 | gk20a_uc_kind_map[gmmu_pte_kind_c32_2c_v()] = | ||
337 | gk20a_uc_kind_map[gmmu_pte_kind_c32_2cba_v()] = | ||
338 | gk20a_uc_kind_map[gmmu_pte_kind_c32_2cra_v()] = | ||
339 | gk20a_uc_kind_map[gmmu_pte_kind_c32_2bra_v()] = | ||
340 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms2_2c_v()] = | ||
341 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms2_2cra_v()] = | ||
342 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms4_2c_v()] = | ||
343 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms4_2cbr_v()] = | ||
344 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms4_2cba_v()] = | ||
345 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms4_2cra_v()] = | ||
346 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms4_2bra_v()] = | ||
347 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms8_ms16_2c_v()] = | ||
348 | gk20a_uc_kind_map[gmmu_pte_kind_c32_ms8_ms16_2cra_v()] = | ||
349 | gk20a_uc_kind_map[gmmu_pte_kind_c64_2c_v()] = | ||
350 | gk20a_uc_kind_map[gmmu_pte_kind_c64_2cbr_v()] = | ||
351 | gk20a_uc_kind_map[gmmu_pte_kind_c64_2cba_v()] = | ||
352 | gk20a_uc_kind_map[gmmu_pte_kind_c64_2cra_v()] = | ||
353 | gk20a_uc_kind_map[gmmu_pte_kind_c64_2bra_v()] = | ||
354 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms2_2c_v()] = | ||
355 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms2_2cra_v()] = | ||
356 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms4_2c_v()] = | ||
357 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms4_2cbr_v()] = | ||
358 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms4_2cba_v()] = | ||
359 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms4_2cra_v()] = | ||
360 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms4_2bra_v()] = | ||
361 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms8_ms16_2c_v()] = | ||
362 | gk20a_uc_kind_map[gmmu_pte_kind_c64_ms8_ms16_2cra_v()] = | ||
363 | gk20a_uc_kind_map[gmmu_pte_kind_c128_2c_v()] = | ||
364 | gk20a_uc_kind_map[gmmu_pte_kind_c128_2cr_v()] = | ||
365 | gk20a_uc_kind_map[gmmu_pte_kind_c128_ms2_2c_v()] = | ||
366 | gk20a_uc_kind_map[gmmu_pte_kind_c128_ms2_2cr_v()] = | ||
367 | gk20a_uc_kind_map[gmmu_pte_kind_c128_ms4_2c_v()] = | ||
368 | gk20a_uc_kind_map[gmmu_pte_kind_c128_ms4_2cr_v()] = | ||
369 | gk20a_uc_kind_map[gmmu_pte_kind_c128_ms8_ms16_2c_v()] = | ||
370 | gk20a_uc_kind_map[gmmu_pte_kind_c128_ms8_ms16_2cr_v()] = | ||
371 | gmmu_pte_kind_generic_16bx2_v(); | ||
372 | |||
373 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms4_vc4_2czv_v()] = | ||
374 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms4_vc4_2cs_v()] = | ||
375 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms4_vc4_2zv_v()] = | ||
376 | gmmu_pte_kind_z24v8_ms4_vc4_v(); | ||
377 | |||
378 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms4_vc12_2czv_v()] = | ||
379 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms4_vc12_2cs_v()] = | ||
380 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms4_vc12_2zv_v()] = | ||
381 | gmmu_pte_kind_z24v8_ms4_vc12_v(); | ||
382 | |||
383 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms8_vc8_2cs_v()] = | ||
384 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms8_vc8_2czv_v()] = | ||
385 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms8_vc8_2zv_v()] = | ||
386 | gmmu_pte_kind_z24v8_ms8_vc8_v(); | ||
387 | |||
388 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms8_vc24_2cs_v()] = | ||
389 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms8_vc24_2czv_v()] = | ||
390 | gk20a_uc_kind_map[gmmu_pte_kind_z24v8_ms8_vc24_2zv_v()] = | ||
391 | gmmu_pte_kind_z24v8_ms8_vc24_v(); | ||
392 | |||
393 | gk20a_uc_kind_map[gmmu_pte_kind_x8c24_v()] = | ||
394 | gmmu_pte_kind_x8c24_v(); | ||
395 | } | ||
396 | |||
397 | u16 gk20a_kind_attr[NV_KIND_ATTR_SIZE]; | ||
398 | void gk20a_init_kind_attr(void) | ||
399 | { | ||
400 | u16 k; | ||
401 | for (k = 0; k < NV_KIND_ATTR_SIZE; k++) { | ||
402 | gk20a_kind_attr[k] = 0; | ||
403 | if (gk20a_kind_supported((u8)k)) | ||
404 | gk20a_kind_attr[k] |= GK20A_KIND_ATTR_SUPPORTED; | ||
405 | if (gk20a_kind_compressible((u8)k)) | ||
406 | gk20a_kind_attr[k] |= GK20A_KIND_ATTR_COMPRESSIBLE; | ||
407 | if (gk20a_kind_z((u8)k)) | ||
408 | gk20a_kind_attr[k] |= GK20A_KIND_ATTR_Z; | ||
409 | if (gk20a_kind_c((u8)k)) | ||
410 | gk20a_kind_attr[k] |= GK20A_KIND_ATTR_C; | ||
411 | if (gk20a_kind_zbc((u8)k)) | ||
412 | gk20a_kind_attr[k] |= GK20A_KIND_ATTR_ZBC; | ||
413 | } | ||
414 | } | ||