Path: blob/21.2-virgl/src/gallium/drivers/nouveau/nvc0/clc3c0qmd.h
4574 views
/*******************************************************************************1Copyright (c) 2001-2010 NVIDIA Corporation23Permission is hereby granted, free of charge, to any person obtaining a copy4of this software and associated documentation files (the "Software"), to5deal in the Software without restriction, including without limitation the6rights to use, copy, modify, merge, publish, distribute, sublicense, and/or7sell copies of the Software, and to permit persons to whom the Software is8furnished to do so, subject to the following conditions:910The above copyright notice and this permission notice shall be11included in all copies or substantial portions of the Software.1213THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR14IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,15FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL16THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER17LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING18FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER19DEALINGS IN THE SOFTWARE.2021*******************************************************************************/2223/* AUTO GENERATED FILE -- DO NOT EDIT */2425#ifndef __CLC3C0QMD_H__26#define __CLC3C0QMD_H__2728/*29** Queue Meta Data, Version 02_0230*/3132// The below C preprocessor definitions describe "multi-word" structures, where33// fields may have bit numbers beyond 32. For example, MW(127:96) means34// the field is in bits 0-31 of word number 3 of the structure. The "MW(X:Y)"35// syntax is to distinguish from similar "X:Y" single-word definitions: the36// macros historically used for single-word definitions would fail with37// multi-word definitions.38//39// See nvmisc.h:DRF_VAL_MW() in the source code of the kernel40// interface layer of nvidia.ko for an example of how to manipulate41// these MW(X:Y) definitions.4243#define NVC3C0_QMDV02_02_OUTER_PUT MW(30:0)44#define NVC3C0_QMDV02_02_OUTER_OVERFLOW MW(31:31)45#define NVC3C0_QMDV02_02_OUTER_GET MW(62:32)46#define NVC3C0_QMDV02_02_OUTER_STICKY_OVERFLOW MW(63:63)47#define NVC3C0_QMDV02_02_INNER_GET MW(94:64)48#define NVC3C0_QMDV02_02_INNER_OVERFLOW MW(95:95)49#define NVC3C0_QMDV02_02_INNER_PUT MW(126:96)50#define NVC3C0_QMDV02_02_INNER_STICKY_OVERFLOW MW(127:127)51#define NVC3C0_QMDV02_02_QMD_GROUP_ID MW(133:128)52#define NVC3C0_QMDV02_02_SM_GLOBAL_CACHING_ENABLE MW(134:134)53#define NVC3C0_QMDV02_02_RUN_CTA_IN_ONE_SM_PARTITION MW(135:135)54#define NVC3C0_QMDV02_02_RUN_CTA_IN_ONE_SM_PARTITION_FALSE 0x0000000055#define NVC3C0_QMDV02_02_RUN_CTA_IN_ONE_SM_PARTITION_TRUE 0x0000000156#define NVC3C0_QMDV02_02_IS_QUEUE MW(136:136)57#define NVC3C0_QMDV02_02_IS_QUEUE_FALSE 0x0000000058#define NVC3C0_QMDV02_02_IS_QUEUE_TRUE 0x0000000159#define NVC3C0_QMDV02_02_ADD_TO_HEAD_OF_QMD_GROUP_LINKED_LIST MW(137:137)60#define NVC3C0_QMDV02_02_ADD_TO_HEAD_OF_QMD_GROUP_LINKED_LIST_FALSE 0x0000000061#define NVC3C0_QMDV02_02_ADD_TO_HEAD_OF_QMD_GROUP_LINKED_LIST_TRUE 0x0000000162#define NVC3C0_QMDV02_02_SEMAPHORE_RELEASE_ENABLE0 MW(138:138)63#define NVC3C0_QMDV02_02_SEMAPHORE_RELEASE_ENABLE0_FALSE 0x0000000064#define NVC3C0_QMDV02_02_SEMAPHORE_RELEASE_ENABLE0_TRUE 0x0000000165#define NVC3C0_QMDV02_02_SEMAPHORE_RELEASE_ENABLE1 MW(139:139)66#define NVC3C0_QMDV02_02_SEMAPHORE_RELEASE_ENABLE1_FALSE 0x0000000067#define NVC3C0_QMDV02_02_SEMAPHORE_RELEASE_ENABLE1_TRUE 0x0000000168#define NVC3C0_QMDV02_02_REQUIRE_SCHEDULING_PCAS MW(140:140)69#define NVC3C0_QMDV02_02_REQUIRE_SCHEDULING_PCAS_FALSE 0x0000000070#define NVC3C0_QMDV02_02_REQUIRE_SCHEDULING_PCAS_TRUE 0x0000000171#define NVC3C0_QMDV02_02_DEPENDENT_QMD_SCHEDULE_ENABLE MW(141:141)72#define NVC3C0_QMDV02_02_DEPENDENT_QMD_SCHEDULE_ENABLE_FALSE 0x0000000073#define NVC3C0_QMDV02_02_DEPENDENT_QMD_SCHEDULE_ENABLE_TRUE 0x0000000174#define NVC3C0_QMDV02_02_DEPENDENT_QMD_TYPE MW(142:142)75#define NVC3C0_QMDV02_02_DEPENDENT_QMD_TYPE_QUEUE 0x0000000076#define NVC3C0_QMDV02_02_DEPENDENT_QMD_TYPE_GRID 0x0000000177#define NVC3C0_QMDV02_02_DEPENDENT_QMD_FIELD_COPY MW(143:143)78#define NVC3C0_QMDV02_02_DEPENDENT_QMD_FIELD_COPY_FALSE 0x0000000079#define NVC3C0_QMDV02_02_DEPENDENT_QMD_FIELD_COPY_TRUE 0x0000000180#define NVC3C0_QMDV02_02_QMD_RESERVED_B MW(159:144)81#define NVC3C0_QMDV02_02_CIRCULAR_QUEUE_SIZE MW(184:160)82#define NVC3C0_QMDV02_02_QMD_RESERVED_C MW(185:185)83#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_HEADER_CACHE MW(186:186)84#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_HEADER_CACHE_FALSE 0x0000000085#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_HEADER_CACHE_TRUE 0x0000000186#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_SAMPLER_CACHE MW(187:187)87#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_SAMPLER_CACHE_FALSE 0x0000000088#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_SAMPLER_CACHE_TRUE 0x0000000189#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_DATA_CACHE MW(188:188)90#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_DATA_CACHE_FALSE 0x0000000091#define NVC3C0_QMDV02_02_INVALIDATE_TEXTURE_DATA_CACHE_TRUE 0x0000000192#define NVC3C0_QMDV02_02_INVALIDATE_SHADER_DATA_CACHE MW(189:189)93#define NVC3C0_QMDV02_02_INVALIDATE_SHADER_DATA_CACHE_FALSE 0x0000000094#define NVC3C0_QMDV02_02_INVALIDATE_SHADER_DATA_CACHE_TRUE 0x0000000195#define NVC3C0_QMDV02_02_INVALIDATE_INSTRUCTION_CACHE MW(190:190)96#define NVC3C0_QMDV02_02_INVALIDATE_INSTRUCTION_CACHE_FALSE 0x0000000097#define NVC3C0_QMDV02_02_INVALIDATE_INSTRUCTION_CACHE_TRUE 0x0000000198#define NVC3C0_QMDV02_02_INVALIDATE_SHADER_CONSTANT_CACHE MW(191:191)99#define NVC3C0_QMDV02_02_INVALIDATE_SHADER_CONSTANT_CACHE_FALSE 0x00000000100#define NVC3C0_QMDV02_02_INVALIDATE_SHADER_CONSTANT_CACHE_TRUE 0x00000001101#define NVC3C0_QMDV02_02_CTA_RASTER_WIDTH_RESUME MW(223:192)102#define NVC3C0_QMDV02_02_CTA_RASTER_HEIGHT_RESUME MW(239:224)103#define NVC3C0_QMDV02_02_CTA_RASTER_DEPTH_RESUME MW(255:240)104#define NVC3C0_QMDV02_02_PROGRAM_OFFSET MW(287:256)105#define NVC3C0_QMDV02_02_CIRCULAR_QUEUE_ADDR_LOWER MW(319:288)106#define NVC3C0_QMDV02_02_CIRCULAR_QUEUE_ADDR_UPPER MW(327:320)107#define NVC3C0_QMDV02_02_QMD_RESERVED_D MW(335:328)108#define NVC3C0_QMDV02_02_CIRCULAR_QUEUE_ENTRY_SIZE MW(351:336)109#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_ID MW(357:352)110#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_DELTA_MINUS_ONE MW(365:358)111#define NVC3C0_QMDV02_02_RELEASE_MEMBAR_TYPE MW(366:366)112#define NVC3C0_QMDV02_02_RELEASE_MEMBAR_TYPE_FE_NONE 0x00000000113#define NVC3C0_QMDV02_02_RELEASE_MEMBAR_TYPE_FE_SYSMEMBAR 0x00000001114#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_INCR_ENABLE MW(367:367)115#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_INCR_ENABLE_FALSE 0x00000000116#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_INCR_ENABLE_TRUE 0x00000001117#define NVC3C0_QMDV02_02_CWD_MEMBAR_TYPE MW(369:368)118#define NVC3C0_QMDV02_02_CWD_MEMBAR_TYPE_L1_NONE 0x00000000119#define NVC3C0_QMDV02_02_CWD_MEMBAR_TYPE_L1_SYSMEMBAR 0x00000001120#define NVC3C0_QMDV02_02_CWD_MEMBAR_TYPE_L1_MEMBAR 0x00000003121#define NVC3C0_QMDV02_02_SEQUENTIALLY_RUN_CTAS MW(370:370)122#define NVC3C0_QMDV02_02_SEQUENTIALLY_RUN_CTAS_FALSE 0x00000000123#define NVC3C0_QMDV02_02_SEQUENTIALLY_RUN_CTAS_TRUE 0x00000001124#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_DECR_ENABLE MW(371:371)125#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_DECR_ENABLE_FALSE 0x00000000126#define NVC3C0_QMDV02_02_CWD_REFERENCE_COUNT_DECR_ENABLE_TRUE 0x00000001127#define NVC3C0_QMDV02_02_API_VISIBLE_CALL_LIMIT MW(378:378)128#define NVC3C0_QMDV02_02_API_VISIBLE_CALL_LIMIT__32 0x00000000129#define NVC3C0_QMDV02_02_API_VISIBLE_CALL_LIMIT_NO_CHECK 0x00000001130#define NVC3C0_QMDV02_02_SAMPLER_INDEX MW(382:382)131#define NVC3C0_QMDV02_02_SAMPLER_INDEX_INDEPENDENTLY 0x00000000132#define NVC3C0_QMDV02_02_SAMPLER_INDEX_VIA_HEADER_INDEX 0x00000001133#define NVC3C0_QMDV02_02_CTA_RASTER_WIDTH MW(415:384)134#define NVC3C0_QMDV02_02_CTA_RASTER_HEIGHT MW(431:416)135#define NVC3C0_QMDV02_02_QMD_RESERVED13A MW(447:432)136#define NVC3C0_QMDV02_02_CTA_RASTER_DEPTH MW(463:448)137#define NVC3C0_QMDV02_02_QMD_RESERVED14A MW(479:464)138#define NVC3C0_QMDV02_02_DEPENDENT_QMD_POINTER MW(511:480)139#define NVC3C0_QMDV02_02_QUEUE_ENTRIES_PER_CTA_MINUS_ONE MW(518:512)140#define NVC3C0_QMDV02_02_COALESCE_WAITING_PERIOD MW(529:522)141#define NVC3C0_QMDV02_02_SHARED_MEMORY_SIZE MW(561:544)142#define NVC3C0_QMDV02_02_MIN_SM_CONFIG_SHARED_MEM_SIZE MW(568:562)143#define NVC3C0_QMDV02_02_MAX_SM_CONFIG_SHARED_MEM_SIZE MW(575:569)144#define NVC3C0_QMDV02_02_QMD_VERSION MW(579:576)145#define NVC3C0_QMDV02_02_QMD_MAJOR_VERSION MW(583:580)146#define NVC3C0_QMDV02_02_QMD_RESERVED_H MW(591:584)147#define NVC3C0_QMDV02_02_CTA_THREAD_DIMENSION0 MW(607:592)148#define NVC3C0_QMDV02_02_CTA_THREAD_DIMENSION1 MW(623:608)149#define NVC3C0_QMDV02_02_CTA_THREAD_DIMENSION2 MW(639:624)150#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_VALID(i) MW((640+(i)*1):(640+(i)*1))151#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_VALID_FALSE 0x00000000152#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_VALID_TRUE 0x00000001153#define NVC3C0_QMDV02_02_REGISTER_COUNT_V MW(656:648)154#define NVC3C0_QMDV02_02_TARGET_SM_CONFIG_SHARED_MEM_SIZE MW(663:657)155#define NVC3C0_QMDV02_02_FREE_CTA_SLOTS_EMPTY_SM MW(671:664)156#define NVC3C0_QMDV02_02_SM_DISABLE_MASK_LOWER MW(703:672)157#define NVC3C0_QMDV02_02_SM_DISABLE_MASK_UPPER MW(735:704)158#define NVC3C0_QMDV02_02_RELEASE0_ADDRESS_LOWER MW(767:736)159#define NVC3C0_QMDV02_02_RELEASE0_ADDRESS_UPPER MW(775:768)160#define NVC3C0_QMDV02_02_QMD_RESERVED_J MW(783:776)161#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP MW(790:788)162#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_ADD 0x00000000163#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_MIN 0x00000001164#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_MAX 0x00000002165#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_INC 0x00000003166#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_DEC 0x00000004167#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_AND 0x00000005168#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_OR 0x00000006169#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_OP_RED_XOR 0x00000007170#define NVC3C0_QMDV02_02_QMD_RESERVED_K MW(791:791)171#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_FORMAT MW(793:792)172#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_FORMAT_UNSIGNED_32 0x00000000173#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_FORMAT_SIGNED_32 0x00000001174#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_ENABLE MW(794:794)175#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_ENABLE_FALSE 0x00000000176#define NVC3C0_QMDV02_02_RELEASE0_REDUCTION_ENABLE_TRUE 0x00000001177#define NVC3C0_QMDV02_02_RELEASE0_STRUCTURE_SIZE MW(799:799)178#define NVC3C0_QMDV02_02_RELEASE0_STRUCTURE_SIZE_FOUR_WORDS 0x00000000179#define NVC3C0_QMDV02_02_RELEASE0_STRUCTURE_SIZE_ONE_WORD 0x00000001180#define NVC3C0_QMDV02_02_RELEASE0_PAYLOAD MW(831:800)181#define NVC3C0_QMDV02_02_RELEASE1_ADDRESS_LOWER MW(863:832)182#define NVC3C0_QMDV02_02_RELEASE1_ADDRESS_UPPER MW(871:864)183#define NVC3C0_QMDV02_02_QMD_RESERVED_L MW(879:872)184#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP MW(886:884)185#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_ADD 0x00000000186#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_MIN 0x00000001187#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_MAX 0x00000002188#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_INC 0x00000003189#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_DEC 0x00000004190#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_AND 0x00000005191#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_OR 0x00000006192#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_OP_RED_XOR 0x00000007193#define NVC3C0_QMDV02_02_QMD_RESERVED_M MW(887:887)194#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_FORMAT MW(889:888)195#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_FORMAT_UNSIGNED_32 0x00000000196#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_FORMAT_SIGNED_32 0x00000001197#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_ENABLE MW(890:890)198#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_ENABLE_FALSE 0x00000000199#define NVC3C0_QMDV02_02_RELEASE1_REDUCTION_ENABLE_TRUE 0x00000001200#define NVC3C0_QMDV02_02_RELEASE1_STRUCTURE_SIZE MW(895:895)201#define NVC3C0_QMDV02_02_RELEASE1_STRUCTURE_SIZE_FOUR_WORDS 0x00000000202#define NVC3C0_QMDV02_02_RELEASE1_STRUCTURE_SIZE_ONE_WORD 0x00000001203#define NVC3C0_QMDV02_02_RELEASE1_PAYLOAD MW(927:896)204#define NVC3C0_QMDV02_02_SHADER_LOCAL_MEMORY_LOW_SIZE MW(951:928)205#define NVC3C0_QMDV02_02_QMD_RESERVED_N MW(954:952)206#define NVC3C0_QMDV02_02_BARRIER_COUNT MW(959:955)207#define NVC3C0_QMDV02_02_SHADER_LOCAL_MEMORY_HIGH_SIZE MW(983:960)208#define NVC3C0_QMDV02_02_REGISTER_COUNT MW(991:984)209#define NVC3C0_QMDV02_02_SHADER_LOCAL_MEMORY_CRS_SIZE MW(1015:992)210#define NVC3C0_QMDV02_02_SASS_VERSION MW(1023:1016)211#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_ADDR_LOWER(i) MW((1055+(i)*64):(1024+(i)*64))212#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_ADDR_UPPER(i) MW((1072+(i)*64):(1056+(i)*64))213#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_RESERVED_ADDR(i) MW((1073+(i)*64):(1073+(i)*64))214#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_INVALIDATE(i) MW((1074+(i)*64):(1074+(i)*64))215#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_INVALIDATE_FALSE 0x00000000216#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_INVALIDATE_TRUE 0x00000001217#define NVC3C0_QMDV02_02_CONSTANT_BUFFER_SIZE_SHIFTED4(i) MW((1087+(i)*64):(1075+(i)*64))218#define NVC3C0_QMDV02_02_PROGRAM_ADDRESS_LOWER MW(1567:1536)219#define NVC3C0_QMDV02_02_PROGRAM_ADDRESS_UPPER MW(1584:1568)220#define NVC3C0_QMDV02_02_QMD_RESERVED_S MW(1599:1585)221#define NVC3C0_QMDV02_02_HW_ONLY_INNER_GET MW(1630:1600)222#define NVC3C0_QMDV02_02_HW_ONLY_REQUIRE_SCHEDULING_PCAS MW(1631:1631)223#define NVC3C0_QMDV02_02_HW_ONLY_INNER_PUT MW(1662:1632)224#define NVC3C0_QMDV02_02_HW_ONLY_SCG_TYPE MW(1663:1663)225#define NVC3C0_QMDV02_02_HW_ONLY_SPAN_LIST_HEAD_INDEX MW(1693:1664)226#define NVC3C0_QMDV02_02_QMD_RESERVED_Q MW(1694:1694)227#define NVC3C0_QMDV02_02_HW_ONLY_SPAN_LIST_HEAD_INDEX_VALID MW(1695:1695)228#define NVC3C0_QMDV02_02_HW_ONLY_SPAN_LIST_HEAD_INDEX_VALID_FALSE 0x00000000229#define NVC3C0_QMDV02_02_HW_ONLY_SPAN_LIST_HEAD_INDEX_VALID_TRUE 0x00000001230#define NVC3C0_QMDV02_02_HW_ONLY_SKED_NEXT_QMD_POINTER MW(1727:1696)231#define NVC3C0_QMDV02_02_QMD_SPARE_G MW(1759:1728)232#define NVC3C0_QMDV02_02_QMD_SPARE_H MW(1791:1760)233#define NVC3C0_QMDV02_02_QMD_SPARE_I MW(1823:1792)234#define NVC3C0_QMDV02_02_QMD_SPARE_J MW(1855:1824)235#define NVC3C0_QMDV02_02_QMD_SPARE_K MW(1887:1856)236#define NVC3C0_QMDV02_02_QMD_SPARE_L MW(1919:1888)237#define NVC3C0_QMDV02_02_QMD_SPARE_M MW(1951:1920)238#define NVC3C0_QMDV02_02_QMD_SPARE_N MW(1983:1952)239#define NVC3C0_QMDV02_02_DEBUG_ID_UPPER MW(2015:1984)240#define NVC3C0_QMDV02_02_DEBUG_ID_LOWER MW(2047:2016)241242243244#endif // #ifndef __CLC3C0QMD_H__245246247