1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2011-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #pragma once
25 
26 //
27 // This file was generated with FINN, an NVIDIA coding tool.
28 // Source file:      ctrl/ctrla26f.finn
29 //
30 
31 
32 
33 
34 /* GK20A_GPFIFO control commands and parameters */
35 
36 #include "ctrl/ctrlxxxx.h"
37 #include "ctrl/ctrla06f.h"          /* A26F is partially derived from A06F */
38 #include "ctrl/ctrl906f.h"          /* A26F is partially derived from 906F */
39 #define NVA26F_CTRL_CMD(cat,idx)  \
40     NVXXXX_CTRL_CMD(0xA26F, NVA26F_CTRL_##cat, idx)
41 
42 /* GK20A_GPFIFO command categories (6bits) */
43 #define NVA26F_CTRL_RESERVED (0x00)
44 #define NVA26F_CTRL_GPFIFO   (0x01)
45 #define NVA26F_CTRL_EVENT    (0x02)
46 
47 /*
48  * NVA26F_CTRL_CMD_NULL
49  *
50  * This command does nothing.
51  * This command does not take any parameters.
52  *
53  * Possible status values returned are:
54  *   NV_OK
55  */
56 #define NVA26F_CTRL_CMD_NULL (0xa26f0000) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_RESERVED_INTERFACE_ID << 8) | 0x0" */
57 
58 
59 
60 
61 
62 /*
63  * NVA26F_CTRL_GET_CLASS_ENGINEID
64  *
65  * Please see description of NV906F_CTRL_GET_CLASS_ENGINEID for more information.
66  *
67  */
68 #define NVA26F_CTRL_GET_CLASS_ENGINEID (0xa26f0101) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_GPFIFO_INTERFACE_ID << 8) | NVA26F_CTRL_GET_CLASS_ENGINEID_PARAMS_MESSAGE_ID" */
69 
70 #define NVA26F_CTRL_GET_CLASS_ENGINEID_PARAMS_MESSAGE_ID (0x1U)
71 
72 typedef NV906F_CTRL_GET_CLASS_ENGINEID_PARAMS NVA26F_CTRL_GET_CLASS_ENGINEID_PARAMS;
73 
74 /*
75  * NVA26F_CTRL_RESET_CHANNEL
76  *
77  * Please see description of NVA06F_CTRL_CMD_RESET_CHANNEL for more information.
78  *
79  */
80 #define NVA26F_CTRL_CMD_RESET_CHANNEL (0xa26f0102) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_GPFIFO_INTERFACE_ID << 8) | NVA26F_CTRL_CMD_RESET_CHANNEL_PARAMS_MESSAGE_ID" */
81 
82 #define NVA26F_CTRL_CMD_RESET_CHANNEL_PARAMS_MESSAGE_ID (0x2U)
83 
84 typedef NVA06F_CTRL_CMD_RESET_CHANNEL_PARAMS NVA26F_CTRL_CMD_RESET_CHANNEL_PARAMS;
85 
86 /*
87  * NVA26F_CTRL_CMD_GPFIFO_SCHEDULE
88  *
89  * Please see description of NVA06F_CTRL_CMD_GPFIFO_SCHEDULE for more information.
90  *
91  */
92 #define NVA26F_CTRL_CMD_GPFIFO_SCHEDULE (0xa26f0103) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_GPFIFO_INTERFACE_ID << 8) | NVA26F_CTRL_GPFIFO_SCHEDULE_PARAMS_MESSAGE_ID" */
93 
94 #define NVA26F_CTRL_GPFIFO_SCHEDULE_PARAMS_MESSAGE_ID (0x3U)
95 
96 typedef NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS NVA26F_CTRL_GPFIFO_SCHEDULE_PARAMS;
97 
98 /*
99  * NVA26F_CTRL_CMD_BIND
100  *
101  * Please see description of NVA06F_CTRL_CMD_BIND for more information.
102  */
103 #define NVA26F_CTRL_CMD_BIND (0xa26f0104) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_GPFIFO_INTERFACE_ID << 8) | NVA26F_CTRL_BIND_PARAMS_MESSAGE_ID" */
104 
105 #define NVA26F_CTRL_BIND_PARAMS_MESSAGE_ID (0x4U)
106 
107 typedef NVA06F_CTRL_BIND_PARAMS NVA26F_CTRL_BIND_PARAMS;
108 
109 /*
110  * NVA26F_CTRL_CMD_EVENT_SET_NOTIFICATION
111  *
112  * Please see description of NVA06F_CTRL_CMD_EVENT_SET_NOTIFICATION for more information.
113 */
114 #define NVA26F_CTRL_CMD_EVENT_SET_NOTIFICATION (0xa26f0205) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_EVENT_INTERFACE_ID << 8) | NVA26F_CTRL_EVENT_SET_NOTIFICATION_PARAMS_MESSAGE_ID" */
115 
116 #define NVA26F_CTRL_EVENT_SET_NOTIFICATION_PARAMS_MESSAGE_ID (0x5U)
117 
118 typedef NVA06F_CTRL_EVENT_SET_NOTIFICATION_PARAMS NVA26F_CTRL_EVENT_SET_NOTIFICATION_PARAMS;
119 
120 /* valid action values */
121 #define NVA26F_CTRL_EVENT_SET_NOTIFICATION_ACTION_DISABLE NVA06F_CTRL_EVENT_SET_NOTIFICATION_ACTION_DISABLE
122 #define NVA26F_CTRL_EVENT_SET_NOTIFICATION_ACTION_SINGLE  NVA06F_CTRL_EVENT_SET_NOTIFICATION_ACTION_SINGLE
123 #define NVA26F_CTRL_EVENT_SET_NOTIFICATION_ACTION_REPEAT  NVA06F_CTRL_EVENT_SET_NOTIFICATION_ACTION_REPEAT
124 
125 /*
126  * NVA26F_CTRL_CMD_EVENT_SET_TRIGGER
127  *
128  * Please see description of NVA06F_CTRL_CMD_EVENT_SET_TRIGGER for more information.
129  */
130 #define NVA26F_CTRL_CMD_EVENT_SET_TRIGGER                 (0xa26f0206) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_EVENT_INTERFACE_ID << 8) | 0x6" */
131 
132 
133 
134 
135 
136 /*
137  * NVA26F_CTRL_CMD_GET_MMU_FAULT_INFO
138  *
139  * Please see description of NV906F_CTRL_CMD_GET_MMU_FAULT_INFO for more information.
140  *
141  */
142 #define NVA26F_CTRL_CMD_GET_MMU_FAULT_INFO (0xa26f0107) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_C_GPFIFO_INTERFACE_ID << 8) | NVA26F_CTRL_GET_MMU_FAULT_INFO_PARAMS_MESSAGE_ID" */
143 
144 #define NVA26F_CTRL_GET_MMU_FAULT_INFO_PARAMS_MESSAGE_ID (0x7U)
145 
146 typedef NV906F_CTRL_GET_MMU_FAULT_INFO_PARAMS NVA26F_CTRL_GET_MMU_FAULT_INFO_PARAMS;
147 
148 /* _ctrla26f.h_ */
149