Skip to content

Commit 2a77d01

Browse files
Ben Skeggsairlied
authored andcommitted
drm/nouveau/fifo/r535: initial support
- Adds support for allocating CHANNEL_GPFIFO classes from RM. Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 9e99444 commit 2a77d01

File tree

19 files changed

+1079
-6
lines changed

19 files changed

+1079
-6
lines changed

drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <core/engine.h>
55
#include <core/object.h>
66
#include <core/event.h>
7+
#include <subdev/gsp.h>
78
struct nvkm_fault_data;
89

910
#define NVKM_FIFO_ENGN_NR 16
@@ -35,6 +36,14 @@ struct nvkm_chan {
3536
atomic_t blocked;
3637
atomic_t errored;
3738

39+
struct {
40+
struct nvkm_gsp_object object;
41+
struct {
42+
dma_addr_t addr;
43+
void *ptr;
44+
} mthdbuf;
45+
} rm;
46+
3847
struct list_head cctxs;
3948
struct list_head head;
4049
};
@@ -71,6 +80,10 @@ struct nvkm_fifo {
7180
struct list_head list;
7281
} userd;
7382

83+
struct {
84+
u32 mthdbuf_size;
85+
} rm;
86+
7487
spinlock_t lock;
7588
struct mutex mutex;
7689
};
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
#ifndef __src_common_sdk_nvidia_inc_alloc_alloc_channel_h__
2+
#define __src_common_sdk_nvidia_inc_alloc_alloc_channel_h__
3+
#include <nvrm/535.54.03/common/sdk/nvidia/inc/nvlimits.h>
4+
5+
/* Excerpt of RM headers from https://github.com/NVIDIA/open-gpu-kernel-modules/tree/535.54.03 */
6+
7+
/*
8+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
9+
* SPDX-License-Identifier: MIT
10+
*
11+
* Permission is hereby granted, free of charge, to any person obtaining a
12+
* copy of this software and associated documentation files (the "Software"),
13+
* to deal in the Software without restriction, including without limitation
14+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
15+
* and/or sell copies of the Software, and to permit persons to whom the
16+
* Software is furnished to do so, subject to the following conditions:
17+
*
18+
* The above copyright notice and this permission notice shall be included in
19+
* all copies or substantial portions of the Software.
20+
*
21+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27+
* DEALINGS IN THE SOFTWARE.
28+
*/
29+
30+
typedef struct NV_MEMORY_DESC_PARAMS {
31+
NV_DECLARE_ALIGNED(NvU64 base, 8);
32+
NV_DECLARE_ALIGNED(NvU64 size, 8);
33+
NvU32 addressSpace;
34+
NvU32 cacheAttrib;
35+
} NV_MEMORY_DESC_PARAMS;
36+
37+
#define NVOS04_FLAGS_CHANNEL_TYPE 1:0
38+
#define NVOS04_FLAGS_CHANNEL_TYPE_PHYSICAL 0x00000000
39+
#define NVOS04_FLAGS_CHANNEL_TYPE_VIRTUAL 0x00000001 // OBSOLETE
40+
#define NVOS04_FLAGS_CHANNEL_TYPE_PHYSICAL_FOR_VIRTUAL 0x00000002 // OBSOLETE
41+
42+
#define NVOS04_FLAGS_VPR 2:2
43+
#define NVOS04_FLAGS_VPR_FALSE 0x00000000
44+
#define NVOS04_FLAGS_VPR_TRUE 0x00000001
45+
46+
#define NVOS04_FLAGS_CC_SECURE 2:2
47+
#define NVOS04_FLAGS_CC_SECURE_FALSE 0x00000000
48+
#define NVOS04_FLAGS_CC_SECURE_TRUE 0x00000001
49+
50+
#define NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING 3:3
51+
#define NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING_FALSE 0x00000000
52+
#define NVOS04_FLAGS_CHANNEL_SKIP_MAP_REFCOUNTING_TRUE 0x00000001
53+
54+
#define NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE 4:4
55+
#define NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE_DEFAULT 0x00000000
56+
#define NVOS04_FLAGS_GROUP_CHANNEL_RUNQUEUE_ONE 0x00000001
57+
58+
#define NVOS04_FLAGS_PRIVILEGED_CHANNEL 5:5
59+
#define NVOS04_FLAGS_PRIVILEGED_CHANNEL_FALSE 0x00000000
60+
#define NVOS04_FLAGS_PRIVILEGED_CHANNEL_TRUE 0x00000001
61+
62+
#define NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING 6:6
63+
#define NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING_FALSE 0x00000000
64+
#define NVOS04_FLAGS_DELAY_CHANNEL_SCHEDULING_TRUE 0x00000001
65+
66+
#define NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE 7:7
67+
#define NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE_FALSE 0x00000000
68+
#define NVOS04_FLAGS_CHANNEL_DENY_PHYSICAL_MODE_CE_TRUE 0x00000001
69+
70+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_VALUE 10:8
71+
72+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED 11:11
73+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED_FALSE 0x00000000
74+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_FIXED_TRUE 0x00000001
75+
76+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_VALUE 20:12
77+
78+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED 21:21
79+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED_FALSE 0x00000000
80+
#define NVOS04_FLAGS_CHANNEL_USERD_INDEX_PAGE_FIXED_TRUE 0x00000001
81+
82+
#define NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV 22:22
83+
#define NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV_FALSE 0x00000000
84+
#define NVOS04_FLAGS_CHANNEL_DENY_AUTH_LEVEL_PRIV_TRUE 0x00000001
85+
86+
#define NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER 23:23
87+
#define NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER_FALSE 0x00000000
88+
#define NVOS04_FLAGS_CHANNEL_SKIP_SCRUBBER_TRUE 0x00000001
89+
90+
#define NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO 24:24
91+
#define NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO_FALSE 0x00000000
92+
#define NVOS04_FLAGS_CHANNEL_CLIENT_MAP_FIFO_TRUE 0x00000001
93+
94+
#define NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL 25:25
95+
#define NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL_FALSE 0x00000000
96+
#define NVOS04_FLAGS_SET_EVICT_LAST_CE_PREFETCH_CHANNEL_TRUE 0x00000001
97+
98+
#define NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT 26:26
99+
#define NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT_FALSE 0x00000000
100+
#define NVOS04_FLAGS_CHANNEL_VGPU_PLUGIN_CONTEXT_TRUE 0x00000001
101+
102+
#define NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT 27:27
103+
#define NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT_FALSE 0x00000000
104+
#define NVOS04_FLAGS_CHANNEL_PBDMA_ACQUIRE_TIMEOUT_TRUE 0x00000001
105+
106+
#define NVOS04_FLAGS_GROUP_CHANNEL_THREAD 29:28
107+
#define NVOS04_FLAGS_GROUP_CHANNEL_THREAD_DEFAULT 0x00000000
108+
#define NVOS04_FLAGS_GROUP_CHANNEL_THREAD_ONE 0x00000001
109+
#define NVOS04_FLAGS_GROUP_CHANNEL_THREAD_TWO 0x00000002
110+
111+
#define NVOS04_FLAGS_MAP_CHANNEL 30:30
112+
#define NVOS04_FLAGS_MAP_CHANNEL_FALSE 0x00000000
113+
#define NVOS04_FLAGS_MAP_CHANNEL_TRUE 0x00000001
114+
115+
#define NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC 31:31
116+
#define NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC_FALSE 0x00000000
117+
#define NVOS04_FLAGS_SKIP_CTXBUFFER_ALLOC_TRUE 0x00000001
118+
119+
typedef struct NV_CHANNEL_ALLOC_PARAMS {
120+
121+
NvHandle hObjectError; // error context DMA
122+
NvHandle hObjectBuffer; // no longer used
123+
NV_DECLARE_ALIGNED(NvU64 gpFifoOffset, 8); // offset to beginning of GP FIFO
124+
NvU32 gpFifoEntries; // number of GP FIFO entries
125+
126+
NvU32 flags;
127+
128+
129+
NvHandle hContextShare; // context share handle
130+
NvHandle hVASpace; // VASpace for the channel
131+
132+
// handle to UserD memory object for channel, ignored if hUserdMemory[0]=0
133+
NvHandle hUserdMemory[NV_MAX_SUBDEVICES];
134+
135+
// offset to beginning of UserD within hUserdMemory[x]
136+
NV_DECLARE_ALIGNED(NvU64 userdOffset[NV_MAX_SUBDEVICES], 8);
137+
138+
// engine type(NV2080_ENGINE_TYPE_*) with which this channel is associated
139+
NvU32 engineType;
140+
// Channel identifier that is unique for the duration of a RM session
141+
NvU32 cid;
142+
// One-hot encoded bitmask to match SET_SUBDEVICE_MASK methods
143+
NvU32 subDeviceId;
144+
NvHandle hObjectEccError; // ECC error context DMA
145+
146+
NV_DECLARE_ALIGNED(NV_MEMORY_DESC_PARAMS instanceMem, 8);
147+
NV_DECLARE_ALIGNED(NV_MEMORY_DESC_PARAMS userdMem, 8);
148+
NV_DECLARE_ALIGNED(NV_MEMORY_DESC_PARAMS ramfcMem, 8);
149+
NV_DECLARE_ALIGNED(NV_MEMORY_DESC_PARAMS mthdbufMem, 8);
150+
151+
NvHandle hPhysChannelGroup; // reserved
152+
NvU32 internalFlags; // reserved
153+
NV_DECLARE_ALIGNED(NV_MEMORY_DESC_PARAMS errorNotifierMem, 8); // reserved
154+
NV_DECLARE_ALIGNED(NV_MEMORY_DESC_PARAMS eccErrorNotifierMem, 8); // reserved
155+
NvU32 ProcessID; // reserved
156+
NvU32 SubProcessID; // reserved
157+
} NV_CHANNEL_ALLOC_PARAMS;
158+
159+
typedef NV_CHANNEL_ALLOC_PARAMS NV_CHANNELGPFIFO_ALLOCATION_PARAMETERS;
160+
161+
#endif

drivers/gpu/drm/nouveau/include/nvrm/535.54.03/common/sdk/nvidia/inc/class/cl2080_notification.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,26 @@
3030

3131
#define NV2080_NOTIFIERS_DP_IRQ (7)
3232

33+
#define NV2080_ENGINE_TYPE_GRAPHICS (0x00000001)
34+
#define NV2080_ENGINE_TYPE_GR0 NV2080_ENGINE_TYPE_GRAPHICS
35+
36+
#define NV2080_ENGINE_TYPE_COPY0 (0x00000009)
37+
38+
#define NV2080_ENGINE_TYPE_BSP (0x00000013)
39+
#define NV2080_ENGINE_TYPE_NVDEC0 NV2080_ENGINE_TYPE_BSP
40+
41+
#define NV2080_ENGINE_TYPE_MSENC (0x0000001b)
42+
#define NV2080_ENGINE_TYPE_NVENC0 NV2080_ENGINE_TYPE_MSENC /* Mutually exclusive alias */
43+
44+
#define NV2080_ENGINE_TYPE_SW (0x00000022)
45+
46+
#define NV2080_ENGINE_TYPE_SEC2 (0x00000026)
47+
48+
#define NV2080_ENGINE_TYPE_NVJPG (0x0000002b)
49+
#define NV2080_ENGINE_TYPE_NVJPEG0 NV2080_ENGINE_TYPE_NVJPG
50+
51+
#define NV2080_ENGINE_TYPE_OFA (0x00000033)
52+
3353
typedef struct {
3454
NvU32 plugDisplayMask;
3555
NvU32 unplugDisplayMask;
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#ifndef __src_common_sdk_nvidia_inc_ctrl_ctrl2080_ctrl2080ce_h__
2+
#define __src_common_sdk_nvidia_inc_ctrl_ctrl2080_ctrl2080ce_h__
3+
4+
/* Excerpt of RM headers from https://github.com/NVIDIA/open-gpu-kernel-modules/tree/535.54.03 */
5+
6+
/*
7+
* SPDX-FileCopyrightText: Copyright (c) 2014-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
8+
* SPDX-License-Identifier: MIT
9+
*
10+
* Permission is hereby granted, free of charge, to any person obtaining a
11+
* copy of this software and associated documentation files (the "Software"),
12+
* to deal in the Software without restriction, including without limitation
13+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
14+
* and/or sell copies of the Software, and to permit persons to whom the
15+
* Software is furnished to do so, subject to the following conditions:
16+
*
17+
* The above copyright notice and this permission notice shall be included in
18+
* all copies or substantial portions of the Software.
19+
*
20+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+
* DEALINGS IN THE SOFTWARE.
27+
*/
28+
29+
typedef struct NV2080_CTRL_CE_GET_FAULT_METHOD_BUFFER_SIZE_PARAMS {
30+
NvU32 size;
31+
} NV2080_CTRL_CE_GET_FAULT_METHOD_BUFFER_SIZE_PARAMS;
32+
33+
#define NV2080_CTRL_CMD_CE_GET_FAULT_METHOD_BUFFER_SIZE (0x20802a08) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_CE_INTERFACE_ID << 8) | NV2080_CTRL_CE_GET_FAULT_METHOD_BUFFER_SIZE_PARAMS_MESSAGE_ID" */
34+
35+
#endif
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#ifndef __src_common_sdk_nvidia_inc_ctrl_ctrl2080_ctrl2080fifo_h__
2+
#define __src_common_sdk_nvidia_inc_ctrl_ctrl2080_ctrl2080fifo_h__
3+
4+
/* Excerpt of RM headers from https://github.com/NVIDIA/open-gpu-kernel-modules/tree/535.54.03 */
5+
6+
/*
7+
* SPDX-FileCopyrightText: Copyright (c) 2006-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
8+
* SPDX-License-Identifier: MIT
9+
*
10+
* Permission is hereby granted, free of charge, to any person obtaining a
11+
* copy of this software and associated documentation files (the "Software"),
12+
* to deal in the Software without restriction, including without limitation
13+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
14+
* and/or sell copies of the Software, and to permit persons to whom the
15+
* Software is furnished to do so, subject to the following conditions:
16+
*
17+
* The above copyright notice and this permission notice shall be included in
18+
* all copies or substantial portions of the Software.
19+
*
20+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+
* DEALINGS IN THE SOFTWARE.
27+
*/
28+
29+
#define NV2080_CTRL_CMD_FIFO_GET_DEVICE_INFO_TABLE (0x20801112) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_FIFO_INTERFACE_ID << 8) | NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS_MESSAGE_ID" */
30+
31+
#define NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_MAX_ENTRIES 32
32+
#define NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_DATA_TYPES 16
33+
#define NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_PBDMA 2
34+
#define NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_NAME_LEN 16
35+
36+
typedef struct NV2080_CTRL_FIFO_DEVICE_ENTRY {
37+
NvU32 engineData[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_DATA_TYPES];
38+
NvU32 pbdmaIds[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_PBDMA];
39+
NvU32 pbdmaFaultIds[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_PBDMA];
40+
NvU32 numPbdmas;
41+
char engineName[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_ENGINE_MAX_NAME_LEN];
42+
} NV2080_CTRL_FIFO_DEVICE_ENTRY;
43+
44+
typedef struct NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS {
45+
NvU32 baseIndex;
46+
NvU32 numEntries;
47+
NvBool bMore;
48+
// C form: NV2080_CTRL_FIFO_DEVICE_ENTRY entries[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_MAX_ENTRIES];
49+
NV2080_CTRL_FIFO_DEVICE_ENTRY entries[NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_MAX_ENTRIES];
50+
} NV2080_CTRL_FIFO_GET_DEVICE_INFO_TABLE_PARAMS;
51+
52+
#endif
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#ifndef __src_common_sdk_nvidia_inc_ctrl_ctrla06f_ctrla06fgpfifo_h__
2+
#define __src_common_sdk_nvidia_inc_ctrl_ctrla06f_ctrla06fgpfifo_h__
3+
4+
/* Excerpt of RM headers from https://github.com/NVIDIA/open-gpu-kernel-modules/tree/535.54.03 */
5+
6+
/*
7+
* SPDX-FileCopyrightText: Copyright (c) 2007-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
8+
* SPDX-License-Identifier: MIT
9+
*
10+
* Permission is hereby granted, free of charge, to any person obtaining a
11+
* copy of this software and associated documentation files (the "Software"),
12+
* to deal in the Software without restriction, including without limitation
13+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
14+
* and/or sell copies of the Software, and to permit persons to whom the
15+
* Software is furnished to do so, subject to the following conditions:
16+
*
17+
* The above copyright notice and this permission notice shall be included in
18+
* all copies or substantial portions of the Software.
19+
*
20+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+
* DEALINGS IN THE SOFTWARE.
27+
*/
28+
29+
#define NVA06F_CTRL_CMD_GPFIFO_SCHEDULE (0xa06f0103) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_A_GPFIFO_INTERFACE_ID << 8) | NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS_MESSAGE_ID" */
30+
31+
typedef struct NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS {
32+
NvBool bEnable;
33+
NvBool bSkipSubmit;
34+
} NVA06F_CTRL_GPFIFO_SCHEDULE_PARAMS;
35+
36+
#define NVA06F_CTRL_CMD_BIND (0xa06f0104) /* finn: Evaluated from "(FINN_KEPLER_CHANNEL_GPFIFO_A_GPFIFO_INTERFACE_ID << 8) | NVA06F_CTRL_BIND_PARAMS_MESSAGE_ID" */
37+
38+
typedef struct NVA06F_CTRL_BIND_PARAMS {
39+
NvU32 engineType;
40+
} NVA06F_CTRL_BIND_PARAMS;
41+
42+
#endif

drivers/gpu/drm/nouveau/include/nvrm/535.54.03/common/sdk/nvidia/inc/nvlimits.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
* DEALINGS IN THE SOFTWARE.
2727
*/
2828

29+
#define NV_MAX_SUBDEVICES 8
30+
2931
#define NV_PROC_NAME_MAX_LENGTH 100U
3032

3133
#endif

0 commit comments

Comments
 (0)