1 // This file is automatically generated by rmconfig - DO NOT EDIT!
2 //
3 // Private HAL support for halgen.
4 //
5 // Profile: shipping-gpus-openrm
6 // Template: templates/gt_hal_private.h
7 //
8 // Chips: TU10X, GA100, GA102, GA103, GA104, GA106, GA107, AD102, AD103, AD104, AD106, AD107, GH10X
9 //
10
11 //
12 // This file is included in several .c files for chips hal register and engines
13 // hal function assignment. The macros RMCFG_ENGINE_SETUP and RMCFG_HAL_SETUP_xxx
14 // are used to provide different content for those .c files.
15 //
16
17 #ifndef _G_RMCFG_HAL_PRIVATE_H_
18 #define _G_RMCFG_HAL_PRIVATE_H_
19
20 #include "g_hal.h"
21
22 // establish the per-chip RMCFG_HAL_SETUP_chip #defines as needed.
23 #if defined(RMCFG_ENGINE_SETUP)
24
25 // setup all enabled chip families
26 #if defined(RMCFG_HAL_SETUP_ALL)
27 # define RMCFG_HAL_SETUP_TU10X 1
28 # define RMCFG_HAL_SETUP_GA10X 1
29 # define RMCFG_HAL_SETUP_AD10X 1
30 # define RMCFG_HAL_SETUP_GH10X 1
31 #endif // RMCFG_HAL_SETUP_ALL
32
33 //
34 // setup all enabled chips in each enabled family
35 //
36
37 #if defined(RMCFG_HAL_SETUP_TU10X)
38 # define RMCFG_HAL_SETUP_TU102 1
39 # define RMCFG_HAL_SETUP_TU104 1
40 # define RMCFG_HAL_SETUP_TU106 1
41 # define RMCFG_HAL_SETUP_TU116 1
42 # define RMCFG_HAL_SETUP_TU117 1
43 #endif // TU10X
44
45 #if defined(RMCFG_HAL_SETUP_GA10X)
46 # define RMCFG_HAL_SETUP_GA100 1
47 # define RMCFG_HAL_SETUP_GA102 1
48 # define RMCFG_HAL_SETUP_GA103 1
49 # define RMCFG_HAL_SETUP_GA104 1
50 # define RMCFG_HAL_SETUP_GA106 1
51 # define RMCFG_HAL_SETUP_GA107 1
52 #endif // GA10X
53
54 #if defined(RMCFG_HAL_SETUP_AD10X)
55 # define RMCFG_HAL_SETUP_AD102 1
56 # define RMCFG_HAL_SETUP_AD103 1
57 # define RMCFG_HAL_SETUP_AD104 1
58 # define RMCFG_HAL_SETUP_AD106 1
59 # define RMCFG_HAL_SETUP_AD107 1
60 #endif // AD10X
61
62 #if defined(RMCFG_HAL_SETUP_GH10X)
63 # define RMCFG_HAL_SETUP_GH100 1
64 #endif // GH10X
65
66 #endif // RMCFG_ENGINE_SETUP
67
68 // pull in private headers for each engine
69 #include "g_rpc_private.h"
70 #include "g_rpcstructurecopy_private.h"
71
72
73 //
74 // per-GPU structure with an interface init function for each engine
75 //
76
77 // registerHalModule function declaration
78 NV_STATUS registerHalModule(NvU32, const HAL_IFACE_SETUP *);
79
80 #if defined(RMCFG_HAL_SETUP_TU102)
81
82 static const HAL_IFACE_SETUP halIface_TU102 = {
83
84 rpcHalIfacesSetup_TU102,
85 rpcstructurecopyHalIfacesSetup_TU102,
86
87 };
88
registerHalModule_TU102(void)89 NV_STATUS registerHalModule_TU102(void)
90 {
91 return registerHalModule(HAL_IMPL_TU102, &halIface_TU102);
92 }
93
94 #endif // TU10X or TU102
95
96 #if defined(RMCFG_HAL_SETUP_TU104)
97
98 static const HAL_IFACE_SETUP halIface_TU104 = {
99
100 rpcHalIfacesSetup_TU104,
101 rpcstructurecopyHalIfacesSetup_TU104,
102
103 };
104
registerHalModule_TU104(void)105 NV_STATUS registerHalModule_TU104(void)
106 {
107 return registerHalModule(HAL_IMPL_TU104, &halIface_TU104);
108 }
109
110 #endif // TU10X or TU104
111
112 #if defined(RMCFG_HAL_SETUP_TU106)
113
114 static const HAL_IFACE_SETUP halIface_TU106 = {
115
116 rpcHalIfacesSetup_TU106,
117 rpcstructurecopyHalIfacesSetup_TU106,
118
119 };
120
registerHalModule_TU106(void)121 NV_STATUS registerHalModule_TU106(void)
122 {
123 return registerHalModule(HAL_IMPL_TU106, &halIface_TU106);
124 }
125
126 #endif // TU10X or TU106
127
128 #if defined(RMCFG_HAL_SETUP_TU116)
129
130 static const HAL_IFACE_SETUP halIface_TU116 = {
131
132 rpcHalIfacesSetup_TU116,
133 rpcstructurecopyHalIfacesSetup_TU116,
134
135 };
136
registerHalModule_TU116(void)137 NV_STATUS registerHalModule_TU116(void)
138 {
139 return registerHalModule(HAL_IMPL_TU116, &halIface_TU116);
140 }
141
142 #endif // TU10X or TU116
143
144 #if defined(RMCFG_HAL_SETUP_TU117)
145
146 static const HAL_IFACE_SETUP halIface_TU117 = {
147
148 rpcHalIfacesSetup_TU117,
149 rpcstructurecopyHalIfacesSetup_TU117,
150
151 };
152
registerHalModule_TU117(void)153 NV_STATUS registerHalModule_TU117(void)
154 {
155 return registerHalModule(HAL_IMPL_TU117, &halIface_TU117);
156 }
157
158 #endif // TU10X or TU117
159
160 #if defined(RMCFG_HAL_SETUP_GA100)
161
162 static const HAL_IFACE_SETUP halIface_GA100 = {
163
164 rpcHalIfacesSetup_GA100,
165 rpcstructurecopyHalIfacesSetup_GA100,
166
167 };
168
registerHalModule_GA100(void)169 NV_STATUS registerHalModule_GA100(void)
170 {
171 return registerHalModule(HAL_IMPL_GA100, &halIface_GA100);
172 }
173
174 #endif // GA10X or GA100
175
176 #if defined(RMCFG_HAL_SETUP_GA102)
177
178 static const HAL_IFACE_SETUP halIface_GA102 = {
179
180 rpcHalIfacesSetup_GA102,
181 rpcstructurecopyHalIfacesSetup_GA102,
182
183 };
184
registerHalModule_GA102(void)185 NV_STATUS registerHalModule_GA102(void)
186 {
187 return registerHalModule(HAL_IMPL_GA102, &halIface_GA102);
188 }
189
190 #endif // GA10X or GA102
191
192 #if defined(RMCFG_HAL_SETUP_GA103)
193
194 static const HAL_IFACE_SETUP halIface_GA103 = {
195
196 rpcHalIfacesSetup_GA103,
197 rpcstructurecopyHalIfacesSetup_GA103,
198
199 };
200
registerHalModule_GA103(void)201 NV_STATUS registerHalModule_GA103(void)
202 {
203 return registerHalModule(HAL_IMPL_GA103, &halIface_GA103);
204 }
205
206 #endif // GA10X or GA103
207
208 #if defined(RMCFG_HAL_SETUP_GA104)
209
210 static const HAL_IFACE_SETUP halIface_GA104 = {
211
212 rpcHalIfacesSetup_GA104,
213 rpcstructurecopyHalIfacesSetup_GA104,
214
215 };
216
registerHalModule_GA104(void)217 NV_STATUS registerHalModule_GA104(void)
218 {
219 return registerHalModule(HAL_IMPL_GA104, &halIface_GA104);
220 }
221
222 #endif // GA10X or GA104
223
224 #if defined(RMCFG_HAL_SETUP_GA106)
225
226 static const HAL_IFACE_SETUP halIface_GA106 = {
227
228 rpcHalIfacesSetup_GA106,
229 rpcstructurecopyHalIfacesSetup_GA106,
230
231 };
232
registerHalModule_GA106(void)233 NV_STATUS registerHalModule_GA106(void)
234 {
235 return registerHalModule(HAL_IMPL_GA106, &halIface_GA106);
236 }
237
238 #endif // GA10X or GA106
239
240 #if defined(RMCFG_HAL_SETUP_GA107)
241
242 static const HAL_IFACE_SETUP halIface_GA107 = {
243
244 rpcHalIfacesSetup_GA107,
245 rpcstructurecopyHalIfacesSetup_GA107,
246
247 };
248
registerHalModule_GA107(void)249 NV_STATUS registerHalModule_GA107(void)
250 {
251 return registerHalModule(HAL_IMPL_GA107, &halIface_GA107);
252 }
253
254 #endif // GA10X or GA107
255
256 #if defined(RMCFG_HAL_SETUP_AD102)
257
258 static const HAL_IFACE_SETUP halIface_AD102 = {
259
260 rpcHalIfacesSetup_AD102,
261 rpcstructurecopyHalIfacesSetup_AD102,
262
263 };
264
registerHalModule_AD102(void)265 NV_STATUS registerHalModule_AD102(void)
266 {
267 return registerHalModule(HAL_IMPL_AD102, &halIface_AD102);
268 }
269
270 #endif // AD10X or AD102
271
272 #if defined(RMCFG_HAL_SETUP_AD103)
273
274 static const HAL_IFACE_SETUP halIface_AD103 = {
275
276 rpcHalIfacesSetup_AD103,
277 rpcstructurecopyHalIfacesSetup_AD103,
278
279 };
280
registerHalModule_AD103(void)281 NV_STATUS registerHalModule_AD103(void)
282 {
283 return registerHalModule(HAL_IMPL_AD103, &halIface_AD103);
284 }
285
286 #endif // AD10X or AD103
287
288 #if defined(RMCFG_HAL_SETUP_AD104)
289
290 static const HAL_IFACE_SETUP halIface_AD104 = {
291
292 rpcHalIfacesSetup_AD104,
293 rpcstructurecopyHalIfacesSetup_AD104,
294
295 };
296
registerHalModule_AD104(void)297 NV_STATUS registerHalModule_AD104(void)
298 {
299 return registerHalModule(HAL_IMPL_AD104, &halIface_AD104);
300 }
301
302 #endif // AD10X or AD104
303
304 #if defined(RMCFG_HAL_SETUP_AD106)
305
306 static const HAL_IFACE_SETUP halIface_AD106 = {
307
308 rpcHalIfacesSetup_AD106,
309 rpcstructurecopyHalIfacesSetup_AD106,
310
311 };
312
registerHalModule_AD106(void)313 NV_STATUS registerHalModule_AD106(void)
314 {
315 return registerHalModule(HAL_IMPL_AD106, &halIface_AD106);
316 }
317
318 #endif // AD10X or AD106
319
320 #if defined(RMCFG_HAL_SETUP_AD107)
321
322 static const HAL_IFACE_SETUP halIface_AD107 = {
323
324 rpcHalIfacesSetup_AD107,
325 rpcstructurecopyHalIfacesSetup_AD107,
326
327 };
328
registerHalModule_AD107(void)329 NV_STATUS registerHalModule_AD107(void)
330 {
331 return registerHalModule(HAL_IMPL_AD107, &halIface_AD107);
332 }
333
334 #endif // AD10X or AD107
335
336 #if defined(RMCFG_HAL_SETUP_GH100)
337
338 static const HAL_IFACE_SETUP halIface_GH100 = {
339
340 rpcHalIfacesSetup_GH100,
341 rpcstructurecopyHalIfacesSetup_GH100,
342
343 };
344
registerHalModule_GH100(void)345 NV_STATUS registerHalModule_GH100(void)
346 {
347 return registerHalModule(HAL_IMPL_GH100, &halIface_GH100);
348 }
349
350 #endif // GH10X or GH100
351
352
353
354 #endif // _G_RMCFG_HAL_PRIVATE_H_
355