xref: /linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/tu1xx.c (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1befe75aeSBen Skeggs /* SPDX-License-Identifier: MIT
2befe75aeSBen Skeggs  *
3befe75aeSBen Skeggs  * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
4befe75aeSBen Skeggs  */
5befe75aeSBen Skeggs #include "gpu.h"
6befe75aeSBen Skeggs 
7*56c36f59SBen Skeggs #include <engine/fifo/priv.h>
8*56c36f59SBen Skeggs 
90fac5141SBen Skeggs #include <nvif/class.h>
100fac5141SBen Skeggs 
11befe75aeSBen Skeggs const struct nvkm_rm_gpu
12befe75aeSBen Skeggs tu1xx_gpu = {
130fac5141SBen Skeggs 	.disp.class = {
140fac5141SBen Skeggs 		.root = TU102_DISP,
150fac5141SBen Skeggs 		.caps = GV100_DISP_CAPS,
160fac5141SBen Skeggs 		.core = TU102_DISP_CORE_CHANNEL_DMA,
170fac5141SBen Skeggs 		.wndw = TU102_DISP_WINDOW_CHANNEL_DMA,
180fac5141SBen Skeggs 		.wimm = TU102_DISP_WINDOW_IMM_CHANNEL_DMA,
190fac5141SBen Skeggs 		.curs = TU102_DISP_CURSOR,
200fac5141SBen Skeggs 	},
21cd3c6228SBen Skeggs 
22cd3c6228SBen Skeggs 	.usermode.class = TURING_USERMODE_A,
23678bb27eSBen Skeggs 
24678bb27eSBen Skeggs 	.fifo.chan = {
25678bb27eSBen Skeggs 		.class = TURING_CHANNEL_GPFIFO_A,
26*56c36f59SBen Skeggs 		.doorbell_handle = tu102_chan_doorbell_handle,
27678bb27eSBen Skeggs 	},
287c2d25f1SBen Skeggs 
297c2d25f1SBen Skeggs 	.ce.class = TURING_DMA_COPY_A,
307c2d25f1SBen Skeggs 	.gr.class = {
317c2d25f1SBen Skeggs 		.i2m = KEPLER_INLINE_TO_MEMORY_B,
327c2d25f1SBen Skeggs 		.twod = FERMI_TWOD_A,
337c2d25f1SBen Skeggs 		.threed = TURING_A,
347c2d25f1SBen Skeggs 		.compute = TURING_COMPUTE_A,
357c2d25f1SBen Skeggs 	},
367c2d25f1SBen Skeggs 	.nvdec.class = NVC4B0_VIDEO_DECODER,
377c2d25f1SBen Skeggs 	.nvenc.class = NVC4B7_VIDEO_ENCODER,
38befe75aeSBen Skeggs };
39