1 /* 2 * Copyright (c) 2003-2004, NVIDIA CORPORATION. All rights reserved. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20 * DEALINGS IN THE SOFTWARE. 21 */ 22 23 #ifndef _cl_fermi_memory_to_memory_format_a_h_ 24 #define _cl_fermi_memory_to_memory_format_a_h_ 25 26 /* AUTO GENERATED FILE -- DO NOT EDIT */ 27 /* Command: ../../class/bin/sw_header.pl fermi_memory_to_memory_format_a */ 28 29 #include "nvtypes.h" 30 31 #define FERMI_MEMORY_TO_MEMORY_FORMAT_A 0x9039 32 33 #define NV9039_SET_OBJECT 0x0000 34 #define NV9039_SET_OBJECT_CLASS_ID 15:0 35 #define NV9039_SET_OBJECT_ENGINE_ID 20:16 36 37 #define NV9039_NO_OPERATION 0x0100 38 #define NV9039_NO_OPERATION_V 31:0 39 40 #define NV9039_SET_NOTIFY_A 0x0104 41 #define NV9039_SET_NOTIFY_A_ADDRESS_UPPER 7:0 42 43 #define NV9039_SET_NOTIFY_B 0x0108 44 #define NV9039_SET_NOTIFY_B_ADDRESS_LOWER 31:0 45 46 #define NV9039_NOTIFY 0x010c 47 #define NV9039_NOTIFY_TYPE 31:0 48 #define NV9039_NOTIFY_TYPE_WRITE_ONLY 0x00000000 49 #define NV9039_NOTIFY_TYPE_WRITE_THEN_AWAKEN 0x00000001 50 51 #define NV9039_WAIT_FOR_IDLE 0x0110 52 #define NV9039_WAIT_FOR_IDLE_V 31:0 53 54 #define NV9039_LOAD_MME_INSTRUCTION_RAM_POINTER 0x0114 55 #define NV9039_LOAD_MME_INSTRUCTION_RAM_POINTER_V 31:0 56 57 #define NV9039_LOAD_MME_INSTRUCTION_RAM 0x0118 58 #define NV9039_LOAD_MME_INSTRUCTION_RAM_V 31:0 59 60 #define NV9039_LOAD_MME_START_ADDRESS_RAM_POINTER 0x011c 61 #define NV9039_LOAD_MME_START_ADDRESS_RAM_POINTER_V 31:0 62 63 #define NV9039_LOAD_MME_START_ADDRESS_RAM 0x0120 64 #define NV9039_LOAD_MME_START_ADDRESS_RAM_V 31:0 65 66 #define NV9039_SET_MME_SHADOW_RAM_CONTROL 0x0124 67 #define NV9039_SET_MME_SHADOW_RAM_CONTROL_MODE 1:0 68 #define NV9039_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_TRACK 0x00000000 69 #define NV9039_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_TRACK_WITH_FILTER 0x00000001 70 #define NV9039_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_PASSTHROUGH 0x00000002 71 #define NV9039_SET_MME_SHADOW_RAM_CONTROL_MODE_METHOD_REPLAY 0x00000003 72 73 #define NV9039_SET_GLOBAL_RENDER_ENABLE_A 0x0130 74 #define NV9039_SET_GLOBAL_RENDER_ENABLE_A_OFFSET_UPPER 7:0 75 76 #define NV9039_SET_GLOBAL_RENDER_ENABLE_B 0x0134 77 #define NV9039_SET_GLOBAL_RENDER_ENABLE_B_OFFSET_LOWER 31:0 78 79 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C 0x0138 80 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C_MODE 2:0 81 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C_MODE_FALSE 0x00000000 82 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C_MODE_TRUE 0x00000001 83 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C_MODE_CONDITIONAL 0x00000002 84 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL 0x00000003 85 #define NV9039_SET_GLOBAL_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL 0x00000004 86 87 #define NV9039_SEND_GO_IDLE 0x013c 88 #define NV9039_SEND_GO_IDLE_V 31:0 89 90 #define NV9039_PM_TRIGGER 0x0140 91 #define NV9039_PM_TRIGGER_V 31:0 92 93 #define NV9039_SET_INSTRUMENTATION_METHOD_HEADER 0x0150 94 #define NV9039_SET_INSTRUMENTATION_METHOD_HEADER_V 31:0 95 96 #define NV9039_SET_INSTRUMENTATION_METHOD_DATA 0x0154 97 #define NV9039_SET_INSTRUMENTATION_METHOD_DATA_V 31:0 98 99 #define NV9039_SET_SRC_BLOCK_SIZE 0x0204 100 #define NV9039_SET_SRC_BLOCK_SIZE_WIDTH 3:0 101 #define NV9039_SET_SRC_BLOCK_SIZE_WIDTH_ONE_GOB 0x00000000 102 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT 7:4 103 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT_ONE_GOB 0x00000000 104 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT_TWO_GOBS 0x00000001 105 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT_FOUR_GOBS 0x00000002 106 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT_EIGHT_GOBS 0x00000003 107 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS 0x00000004 108 #define NV9039_SET_SRC_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS 0x00000005 109 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH 11:8 110 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH_ONE_GOB 0x00000000 111 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH_TWO_GOBS 0x00000001 112 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH_FOUR_GOBS 0x00000002 113 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH_EIGHT_GOBS 0x00000003 114 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS 0x00000004 115 #define NV9039_SET_SRC_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS 0x00000005 116 117 #define NV9039_SET_SRC_WIDTH 0x0208 118 #define NV9039_SET_SRC_WIDTH_V 31:0 119 120 #define NV9039_SET_SRC_HEIGHT 0x020c 121 #define NV9039_SET_SRC_HEIGHT_V 31:0 122 123 #define NV9039_SET_SRC_DEPTH 0x0210 124 #define NV9039_SET_SRC_DEPTH_V 31:0 125 126 #define NV9039_SET_SRC_LAYER 0x0214 127 #define NV9039_SET_SRC_LAYER_V 31:0 128 129 #define NV9039_SET_DST_BLOCK_SIZE 0x0220 130 #define NV9039_SET_DST_BLOCK_SIZE_WIDTH 3:0 131 #define NV9039_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB 0x00000000 132 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT 7:4 133 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB 0x00000000 134 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS 0x00000001 135 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS 0x00000002 136 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS 0x00000003 137 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS 0x00000004 138 #define NV9039_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS 0x00000005 139 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH 11:8 140 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB 0x00000000 141 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS 0x00000001 142 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS 0x00000002 143 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS 0x00000003 144 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS 0x00000004 145 #define NV9039_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS 0x00000005 146 147 #define NV9039_SET_DST_WIDTH 0x0224 148 #define NV9039_SET_DST_WIDTH_V 31:0 149 150 #define NV9039_SET_DST_HEIGHT 0x0228 151 #define NV9039_SET_DST_HEIGHT_V 31:0 152 153 #define NV9039_SET_DST_DEPTH 0x022c 154 #define NV9039_SET_DST_DEPTH_V 31:0 155 156 #define NV9039_SET_DST_LAYER 0x0230 157 #define NV9039_SET_DST_LAYER_V 31:0 158 159 #define NV9039_OFFSET_OUT_UPPER 0x0238 160 #define NV9039_OFFSET_OUT_UPPER_VALUE 7:0 161 162 #define NV9039_OFFSET_OUT 0x023c 163 #define NV9039_OFFSET_OUT_VALUE 31:0 164 165 #define NV9039_SET_SPARE_NOOP06 0x0240 166 #define NV9039_SET_SPARE_NOOP06_V 31:0 167 168 #define NV9039_SET_SPARE_NOOP03 0x0244 169 #define NV9039_SET_SPARE_NOOP03_V 31:0 170 171 #define NV9039_SET_SPARE_NOOP07 0x0248 172 #define NV9039_SET_SPARE_NOOP07_V 31:0 173 174 #define NV9039_SET_SPARE_NOOP05 0x024c 175 #define NV9039_SET_SPARE_NOOP05_V 31:0 176 177 #define NV9039_SET_SPARE_NOOP14 0x0250 178 #define NV9039_SET_SPARE_NOOP14_V 31:0 179 180 #define NV9039_SET_SPARE_NOOP04 0x0254 181 #define NV9039_SET_SPARE_NOOP04_V 31:0 182 183 #define NV9039_SET_SPARE_NOOP10 0x0258 184 #define NV9039_SET_SPARE_NOOP10_V 31:0 185 186 #define NV9039_SET_SPARE_NOOP02 0x025c 187 #define NV9039_SET_SPARE_NOOP02_V 31:0 188 189 #define NV9039_SET_SPARE_NOOP12 0x0260 190 #define NV9039_SET_SPARE_NOOP12_V 31:0 191 192 #define NV9039_SET_SPARE_NOOP00 0x0264 193 #define NV9039_SET_SPARE_NOOP00_V 31:0 194 195 #define NV9039_SET_SPARE_NOOP08 0x0268 196 #define NV9039_SET_SPARE_NOOP08_V 31:0 197 198 #define NV9039_SET_SPARE_NOOP13 0x026c 199 #define NV9039_SET_SPARE_NOOP13_V 31:0 200 201 #define NV9039_SET_SPARE_NOOP09 0x0270 202 #define NV9039_SET_SPARE_NOOP09_V 31:0 203 204 #define NV9039_SET_SPARE_NOOP15 0x0274 205 #define NV9039_SET_SPARE_NOOP15_V 31:0 206 207 #define NV9039_SET_SPARE_NOOP01 0x0278 208 #define NV9039_SET_SPARE_NOOP01_V 31:0 209 210 #define NV9039_SET_FALCON00 0x027c 211 #define NV9039_SET_FALCON00_V 31:0 212 213 #define NV9039_SET_FALCON01 0x0280 214 #define NV9039_SET_FALCON01_V 31:0 215 216 #define NV9039_SET_FALCON02 0x0284 217 #define NV9039_SET_FALCON02_V 31:0 218 219 #define NV9039_SET_FALCON03 0x0288 220 #define NV9039_SET_FALCON03_V 31:0 221 222 #define NV9039_SET_FALCON04 0x028c 223 #define NV9039_SET_FALCON04_V 31:0 224 225 #define NV9039_SET_FALCON05 0x0290 226 #define NV9039_SET_FALCON05_V 31:0 227 228 #define NV9039_SET_FALCON06 0x0294 229 #define NV9039_SET_FALCON06_V 31:0 230 231 #define NV9039_SET_FALCON07 0x0298 232 #define NV9039_SET_FALCON07_V 31:0 233 234 #define NV9039_SET_FALCON08 0x029c 235 #define NV9039_SET_FALCON08_V 31:0 236 237 #define NV9039_SET_FALCON09 0x02a0 238 #define NV9039_SET_FALCON09_V 31:0 239 240 #define NV9039_SET_FALCON10 0x02a4 241 #define NV9039_SET_FALCON10_V 31:0 242 243 #define NV9039_SET_FALCON11 0x02a8 244 #define NV9039_SET_FALCON11_V 31:0 245 246 #define NV9039_SET_FALCON12 0x02ac 247 #define NV9039_SET_FALCON12_V 31:0 248 249 #define NV9039_SET_FALCON13 0x02b0 250 #define NV9039_SET_FALCON13_V 31:0 251 252 #define NV9039_SET_FALCON14 0x02b4 253 #define NV9039_SET_FALCON14_V 31:0 254 255 #define NV9039_SET_FALCON15 0x02b8 256 #define NV9039_SET_FALCON15_V 31:0 257 258 #define NV9039_SET_FALCON16 0x02bc 259 #define NV9039_SET_FALCON16_V 31:0 260 261 #define NV9039_SET_FALCON17 0x02c0 262 #define NV9039_SET_FALCON17_V 31:0 263 264 #define NV9039_SET_FALCON18 0x02c4 265 #define NV9039_SET_FALCON18_V 31:0 266 267 #define NV9039_SET_FALCON19 0x02c8 268 #define NV9039_SET_FALCON19_V 31:0 269 270 #define NV9039_SET_FALCON20 0x02cc 271 #define NV9039_SET_FALCON20_V 31:0 272 273 #define NV9039_SET_FALCON21 0x02d0 274 #define NV9039_SET_FALCON21_V 31:0 275 276 #define NV9039_SET_FALCON22 0x02d4 277 #define NV9039_SET_FALCON22_V 31:0 278 279 #define NV9039_SET_FALCON23 0x02d8 280 #define NV9039_SET_FALCON23_V 31:0 281 282 #define NV9039_SET_FALCON24 0x02dc 283 #define NV9039_SET_FALCON24_V 31:0 284 285 #define NV9039_SET_FALCON25 0x02e0 286 #define NV9039_SET_FALCON25_V 31:0 287 288 #define NV9039_SET_FALCON26 0x02e4 289 #define NV9039_SET_FALCON26_V 31:0 290 291 #define NV9039_SET_FALCON27 0x02e8 292 #define NV9039_SET_FALCON27_V 31:0 293 294 #define NV9039_SET_FALCON28 0x02ec 295 #define NV9039_SET_FALCON28_V 31:0 296 297 #define NV9039_SET_FALCON29 0x02f0 298 #define NV9039_SET_FALCON29_V 31:0 299 300 #define NV9039_SET_FALCON30 0x02f4 301 #define NV9039_SET_FALCON30_V 31:0 302 303 #define NV9039_SET_FALCON31 0x02f8 304 #define NV9039_SET_FALCON31_V 31:0 305 306 #define NV9039_SET_SPARE_NOOP11 0x02fc 307 #define NV9039_SET_SPARE_NOOP11_V 31:0 308 309 #define NV9039_LAUNCH_DMA 0x0300 310 #define NV9039_LAUNCH_DMA_SRC_INLINE 0:0 311 #define NV9039_LAUNCH_DMA_SRC_INLINE_FALSE 0x00000000 312 #define NV9039_LAUNCH_DMA_SRC_INLINE_TRUE 0x00000001 313 #define NV9039_LAUNCH_DMA_SRC_MEMORY_LAYOUT 4:4 314 #define NV9039_LAUNCH_DMA_SRC_MEMORY_LAYOUT_BLOCKLINEAR 0x00000000 315 #define NV9039_LAUNCH_DMA_SRC_MEMORY_LAYOUT_PITCH 0x00000001 316 #define NV9039_LAUNCH_DMA_DST_MEMORY_LAYOUT 8:8 317 #define NV9039_LAUNCH_DMA_DST_MEMORY_LAYOUT_BLOCKLINEAR 0x00000000 318 #define NV9039_LAUNCH_DMA_DST_MEMORY_LAYOUT_PITCH 0x00000001 319 #define NV9039_LAUNCH_DMA_COMPLETION_TYPE 13:12 320 #define NV9039_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_DISABLE 0x00000000 321 #define NV9039_LAUNCH_DMA_COMPLETION_TYPE_FLUSH_ONLY 0x00000001 322 #define NV9039_LAUNCH_DMA_COMPLETION_TYPE_RELEASE_SEMAPHORE 0x00000002 323 #define NV9039_LAUNCH_DMA_INTERRUPT_TYPE 17:16 324 #define NV9039_LAUNCH_DMA_INTERRUPT_TYPE_NONE 0x00000000 325 #define NV9039_LAUNCH_DMA_INTERRUPT_TYPE_INTERRUPT 0x00000001 326 #define NV9039_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE 20:20 327 #define NV9039_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_FOUR_WORDS 0x00000000 328 #define NV9039_LAUNCH_DMA_SEMAPHORE_STRUCT_SIZE_ONE_WORD 0x00000001 329 330 #define NV9039_LOAD_INLINE_DATA 0x0304 331 #define NV9039_LOAD_INLINE_DATA_V 31:0 332 333 #define NV9039_SET_RENDER_ENABLE_OVERRIDE 0x0308 334 #define NV9039_SET_RENDER_ENABLE_OVERRIDE_MODE 1:0 335 #define NV9039_SET_RENDER_ENABLE_OVERRIDE_MODE_USE_RENDER_ENABLE 0x00000000 336 #define NV9039_SET_RENDER_ENABLE_OVERRIDE_MODE_ALWAYS_RENDER 0x00000001 337 #define NV9039_SET_RENDER_ENABLE_OVERRIDE_MODE_NEVER_RENDER 0x00000002 338 339 #define NV9039_OFFSET_IN_UPPER 0x030c 340 #define NV9039_OFFSET_IN_UPPER_VALUE 7:0 341 342 #define NV9039_OFFSET_IN 0x0310 343 #define NV9039_OFFSET_IN_VALUE 31:0 344 345 #define NV9039_PITCH_IN 0x0314 346 #define NV9039_PITCH_IN_VALUE 31:0 347 348 #define NV9039_PITCH_OUT 0x0318 349 #define NV9039_PITCH_OUT_VALUE 31:0 350 351 #define NV9039_LINE_LENGTH_IN 0x031c 352 #define NV9039_LINE_LENGTH_IN_VALUE 31:0 353 354 #define NV9039_LINE_COUNT 0x0320 355 #define NV9039_LINE_COUNT_VALUE 31:0 356 357 #define NV9039_SET_SEMAPHORE_A 0x032c 358 #define NV9039_SET_SEMAPHORE_A_OFFSET_UPPER 7:0 359 360 #define NV9039_SET_SEMAPHORE_B 0x0330 361 #define NV9039_SET_SEMAPHORE_B_OFFSET_LOWER 31:0 362 363 #define NV9039_SET_SEMAPHORE_C 0x0334 364 #define NV9039_SET_SEMAPHORE_C_PAYLOAD 31:0 365 366 #define NV9039_SET_RENDER_ENABLE_A 0x0338 367 #define NV9039_SET_RENDER_ENABLE_A_OFFSET_UPPER 7:0 368 369 #define NV9039_SET_RENDER_ENABLE_B 0x033c 370 #define NV9039_SET_RENDER_ENABLE_B_OFFSET_LOWER 31:0 371 372 #define NV9039_SET_RENDER_ENABLE_C 0x0340 373 #define NV9039_SET_RENDER_ENABLE_C_MODE 2:0 374 #define NV9039_SET_RENDER_ENABLE_C_MODE_FALSE 0x00000000 375 #define NV9039_SET_RENDER_ENABLE_C_MODE_TRUE 0x00000001 376 #define NV9039_SET_RENDER_ENABLE_C_MODE_CONDITIONAL 0x00000002 377 #define NV9039_SET_RENDER_ENABLE_C_MODE_RENDER_IF_EQUAL 0x00000003 378 #define NV9039_SET_RENDER_ENABLE_C_MODE_RENDER_IF_NOT_EQUAL 0x00000004 379 380 #define NV9039_SET_SRC_ORIGIN_BYTES_X 0x0344 381 #define NV9039_SET_SRC_ORIGIN_BYTES_X_V 19:0 382 383 #define NV9039_SET_SRC_ORIGIN_SAMPLES_Y 0x0348 384 #define NV9039_SET_SRC_ORIGIN_SAMPLES_Y_V 15:0 385 386 #define NV9039_SET_DST_ORIGIN_BYTES_X 0x034c 387 #define NV9039_SET_DST_ORIGIN_BYTES_X_V 19:0 388 389 #define NV9039_SET_DST_ORIGIN_SAMPLES_Y 0x0350 390 #define NV9039_SET_DST_ORIGIN_SAMPLES_Y_V 15:0 391 392 #define NV9039_SET_MME_SHADOW_SCRATCH(i) (0x3400+(i)*4) 393 #define NV9039_SET_MME_SHADOW_SCRATCH_V 31:0 394 395 #define NV9039_CALL_MME_MACRO(j) (0x3800+(j)*8) 396 #define NV9039_CALL_MME_MACRO_V 31:0 397 398 #define NV9039_CALL_MME_DATA(j) (0x3804+(j)*8) 399 #define NV9039_CALL_MME_DATA_V 31:0 400 401 #endif /* _cl_fermi_memory_to_memory_format_a_h_ */ 402