575.51.02

This commit is contained in:
Bernhard Stoeckner
2025-04-17 19:35:38 +02:00
parent e8113f665d
commit 4159579888
1142 changed files with 309085 additions and 272273 deletions

View File

@@ -25,6 +25,7 @@
#include <gpu/gpu.h>
#include <gpu/eng_desc.h>
#include <g_allclasses.h>
#include <ctrl/ctrl0080/ctrl0080gpu.h> // NV0080_CTRL_GPU_CLASSLIST_MAX_SIZE
@@ -1557,6 +1558,189 @@ gpuGetClassDescriptorList_GB10B(POBJGPU pGpu, NvU32 *pNumClassDescriptors)
const CLASSDESCRIPTOR *
gpuGetClassDescriptorList_GB110(POBJGPU pGpu, NvU32 *pNumClassDescriptors)
{
static const CLASSDESCRIPTOR halGB110ClassDescriptorList[] = {
{ ACCESS_COUNTER_NOTIFY_BUFFER, ENG_GR(0) },
{ AMPERE_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ AMPERE_USERMODE_A, ENG_GPU },
{ BLACKWELL_A, ENG_GR(0) },
{ BLACKWELL_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ BLACKWELL_COMPUTE_A, ENG_GR(0) },
{ BLACKWELL_COMPUTE_A, ENG_GR(1) },
{ BLACKWELL_COMPUTE_A, ENG_GR(2) },
{ BLACKWELL_COMPUTE_A, ENG_GR(3) },
{ BLACKWELL_COMPUTE_A, ENG_GR(4) },
{ BLACKWELL_COMPUTE_A, ENG_GR(5) },
{ BLACKWELL_COMPUTE_A, ENG_GR(6) },
{ BLACKWELL_COMPUTE_A, ENG_GR(7) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(0) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(1) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(2) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(3) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(4) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(5) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(6) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(7) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(8) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(9) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(10) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(11) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(12) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(13) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(14) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(15) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(16) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(17) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(18) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(19) },
{ BLACKWELL_INLINE_TO_MEMORY_A, ENG_GR(0) },
{ FERMI_CONTEXT_SHARE_A, ENG_KERNEL_FIFO },
{ FERMI_TWOD_A, ENG_GR(0) },
{ FERMI_VASPACE_A, ENG_DMA },
{ G84_PERFBUFFER, ENG_BUS },
{ GF100_SUBDEVICE_INFOROM, ENG_GPU },
{ GF100_SUBDEVICE_MASTER, ENG_GPU },
{ GF100_TIMED_SEMAPHORE_SW, ENG_SW },
{ GF100_ZBC_CLEAR, ENG_KERNEL_MEMORY_SYSTEM },
{ GP100_UVM_SW, ENG_SW },
{ HOPPER_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ HOPPER_SEC2_WORK_LAUNCH_A, ENG_SEC2 },
{ HOPPER_USERMODE_A, ENG_GPU },
{ KEPLER_CHANNEL_GROUP_A, ENG_KERNEL_FIFO },
{ KEPLER_DEVICE_VGPU, ENG_GPU },
{ MMU_FAULT_BUFFER, ENG_GR(0) },
{ NV0060_SYNC_GPU_BOOST, ENG_GPU },
{ NV01_MEMORY_LOCAL_USER, ENG_SW },
{ NV01_MEMORY_VIRTUAL, ENG_DMA },
{ NV04_SOFTWARE_TEST, ENG_SW },
{ NV50_DEFERRED_API_CLASS, ENG_SW },
{ NV50_MEMORY_VIRTUAL, ENG_DMA },
{ NV50_P2P, ENG_BUS },
{ NV50_THIRD_PARTY_P2P, ENG_BUS },
{ NVA081_VGPU_CONFIG, ENG_GPU },
{ NVA084_KERNEL_HOST_VGPU_DEVICE, ENG_GPU },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(0) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(1) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(2) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(3) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(4) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(5) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(6) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(7) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(0) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(1) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(2) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(3) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(4) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(5) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(6) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(7) },
{ NVCDFA_VIDEO_OFA, ENG_OFA(0) },
{ NVCDFA_VIDEO_OFA, ENG_OFA(1) },
{ NV_CONFIDENTIAL_COMPUTE, ENG_CONF_COMPUTE },
{ RM_USER_SHARED_DATA, ENG_GPU },
{ TURING_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ TURING_USERMODE_A, ENG_GPU },
{ VOLTA_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ VOLTA_USERMODE_A, ENG_GPU },
};
#define HALGB110_NUM_CLASS_DESCS (sizeof(halGB110ClassDescriptorList) / sizeof(CLASSDESCRIPTOR))
#define HALGB110_NUM_CLASSES 51
ct_assert(NV0080_CTRL_GPU_CLASSLIST_MAX_SIZE >= HALGB110_NUM_CLASSES);
*pNumClassDescriptors = HALGB110_NUM_CLASS_DESCS;
return halGB110ClassDescriptorList;
}
const CLASSDESCRIPTOR *
gpuGetClassDescriptorList_GB112(POBJGPU pGpu, NvU32 *pNumClassDescriptors)
{
static const CLASSDESCRIPTOR halGB112ClassDescriptorList[] = {
{ ACCESS_COUNTER_NOTIFY_BUFFER, ENG_GR(0) },
{ AMPERE_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ AMPERE_USERMODE_A, ENG_GPU },
{ BLACKWELL_A, ENG_GR(0) },
{ BLACKWELL_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ BLACKWELL_COMPUTE_A, ENG_GR(0) },
{ BLACKWELL_COMPUTE_A, ENG_GR(1) },
{ BLACKWELL_COMPUTE_A, ENG_GR(2) },
{ BLACKWELL_COMPUTE_A, ENG_GR(3) },
{ BLACKWELL_COMPUTE_A, ENG_GR(4) },
{ BLACKWELL_COMPUTE_A, ENG_GR(5) },
{ BLACKWELL_COMPUTE_A, ENG_GR(6) },
{ BLACKWELL_COMPUTE_A, ENG_GR(7) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(0) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(1) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(2) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(3) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(4) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(5) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(6) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(7) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(8) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(9) },
{ BLACKWELL_INLINE_TO_MEMORY_A, ENG_GR(0) },
{ FERMI_CONTEXT_SHARE_A, ENG_KERNEL_FIFO },
{ FERMI_TWOD_A, ENG_GR(0) },
{ FERMI_VASPACE_A, ENG_DMA },
{ G84_PERFBUFFER, ENG_BUS },
{ GF100_SUBDEVICE_INFOROM, ENG_GPU },
{ GF100_SUBDEVICE_MASTER, ENG_GPU },
{ GF100_TIMED_SEMAPHORE_SW, ENG_SW },
{ GF100_ZBC_CLEAR, ENG_KERNEL_MEMORY_SYSTEM },
{ GP100_UVM_SW, ENG_SW },
{ HOPPER_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ HOPPER_SEC2_WORK_LAUNCH_A, ENG_SEC2 },
{ HOPPER_USERMODE_A, ENG_GPU },
{ KEPLER_CHANNEL_GROUP_A, ENG_KERNEL_FIFO },
{ KEPLER_DEVICE_VGPU, ENG_GPU },
{ MMU_FAULT_BUFFER, ENG_GR(0) },
{ NV0060_SYNC_GPU_BOOST, ENG_GPU },
{ NV01_MEMORY_LOCAL_USER, ENG_SW },
{ NV01_MEMORY_VIRTUAL, ENG_DMA },
{ NV04_SOFTWARE_TEST, ENG_SW },
{ NV50_DEFERRED_API_CLASS, ENG_SW },
{ NV50_MEMORY_VIRTUAL, ENG_DMA },
{ NV50_P2P, ENG_BUS },
{ NV50_THIRD_PARTY_P2P, ENG_BUS },
{ NVA081_VGPU_CONFIG, ENG_GPU },
{ NVA084_KERNEL_HOST_VGPU_DEVICE, ENG_GPU },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(0) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(1) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(2) },
{ NVCDB0_VIDEO_DECODER, ENG_NVDEC(3) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(0) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(1) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(2) },
{ NVCDD1_VIDEO_NVJPG, ENG_NVJPEG(3) },
{ NVCDFA_VIDEO_OFA, ENG_OFA(0) },
{ NV_CONFIDENTIAL_COMPUTE, ENG_CONF_COMPUTE },
{ RM_USER_SHARED_DATA, ENG_GPU },
{ TURING_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ TURING_USERMODE_A, ENG_GPU },
{ VOLTA_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ VOLTA_USERMODE_A, ENG_GPU },
};
#define HALGB112_NUM_CLASS_DESCS (sizeof(halGB112ClassDescriptorList) / sizeof(CLASSDESCRIPTOR))
#define HALGB112_NUM_CLASSES 51
ct_assert(NV0080_CTRL_GPU_CLASSLIST_MAX_SIZE >= HALGB112_NUM_CLASSES);
*pNumClassDescriptors = HALGB112_NUM_CLASS_DESCS;
return halGB112ClassDescriptorList;
}
const CLASSDESCRIPTOR *
gpuGetClassDescriptorList_GB202(POBJGPU pGpu, NvU32 *pNumClassDescriptors)
{
@@ -2088,3 +2272,113 @@ gpuGetClassDescriptorList_GB207(POBJGPU pGpu, NvU32 *pNumClassDescriptors)
}
const CLASSDESCRIPTOR *
gpuGetClassDescriptorList_GB20B(POBJGPU pGpu, NvU32 *pNumClassDescriptors)
{
static const CLASSDESCRIPTOR halGB20BClassDescriptorList[] = {
{ ACCESS_COUNTER_NOTIFY_BUFFER, ENG_GR(0) },
{ ACCESS_COUNTER_NOTIFY_BUFFER, ENG_GR(1) },
{ ACCESS_COUNTER_NOTIFY_BUFFER, ENG_GR(2) },
{ ACCESS_COUNTER_NOTIFY_BUFFER, ENG_GR(3) },
{ AMPERE_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ AMPERE_USERMODE_A, ENG_GPU },
{ BLACKWELL_B, ENG_GR(0) },
{ BLACKWELL_B, ENG_GR(1) },
{ BLACKWELL_B, ENG_GR(2) },
{ BLACKWELL_B, ENG_GR(3) },
{ BLACKWELL_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ BLACKWELL_CHANNEL_GPFIFO_B, ENG_KERNEL_FIFO },
{ BLACKWELL_COMPUTE_B, ENG_GR(0) },
{ BLACKWELL_COMPUTE_B, ENG_GR(1) },
{ BLACKWELL_COMPUTE_B, ENG_GR(2) },
{ BLACKWELL_COMPUTE_B, ENG_GR(3) },
{ BLACKWELL_COMPUTE_B, ENG_GR(4) },
{ BLACKWELL_COMPUTE_B, ENG_GR(5) },
{ BLACKWELL_COMPUTE_B, ENG_GR(6) },
{ BLACKWELL_COMPUTE_B, ENG_GR(7) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(0) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(1) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(2) },
{ BLACKWELL_DMA_COPY_A, ENG_CE(3) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(0) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(1) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(2) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(3) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(4) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(5) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(6) },
{ BLACKWELL_DMA_COPY_B, ENG_CE(7) },
{ BLACKWELL_INLINE_TO_MEMORY_A, ENG_GR(0) },
{ BLACKWELL_INLINE_TO_MEMORY_A, ENG_GR(1) },
{ BLACKWELL_INLINE_TO_MEMORY_A, ENG_GR(2) },
{ BLACKWELL_INLINE_TO_MEMORY_A, ENG_GR(3) },
{ BLACKWELL_USERMODE_A, ENG_GPU },
{ FERMI_CONTEXT_SHARE_A, ENG_KERNEL_FIFO },
{ FERMI_TWOD_A, ENG_GR(0) },
{ FERMI_TWOD_A, ENG_GR(1) },
{ FERMI_TWOD_A, ENG_GR(2) },
{ FERMI_TWOD_A, ENG_GR(3) },
{ FERMI_VASPACE_A, ENG_DMA },
{ G84_PERFBUFFER, ENG_BUS },
{ GF100_DISP_SW, ENG_SW },
{ GF100_HDACODEC, ENG_HDACODEC },
{ GF100_SUBDEVICE_INFOROM, ENG_GPU },
{ GF100_SUBDEVICE_MASTER, ENG_GPU },
{ GF100_TIMED_SEMAPHORE_SW, ENG_SW },
{ GF100_ZBC_CLEAR, ENG_KERNEL_MEMORY_SYSTEM },
{ GP100_UVM_SW, ENG_SW },
{ HOPPER_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ HOPPER_SEC2_WORK_LAUNCH_A, ENG_SEC2 },
{ HOPPER_USERMODE_A, ENG_GPU },
{ KEPLER_CHANNEL_GROUP_A, ENG_KERNEL_FIFO },
{ KEPLER_DEVICE_VGPU, ENG_GPU },
{ MMU_FAULT_BUFFER, ENG_GR(0) },
{ MMU_FAULT_BUFFER, ENG_GR(1) },
{ MMU_FAULT_BUFFER, ENG_GR(2) },
{ MMU_FAULT_BUFFER, ENG_GR(3) },
{ NV0060_SYNC_GPU_BOOST, ENG_GPU },
{ NV01_MEMORY_VIRTUAL, ENG_DMA },
{ NV04_DISPLAY_COMMON, ENG_KERNEL_DISPLAY },
{ NV04_SOFTWARE_TEST, ENG_SW },
{ NV50_DEFERRED_API_CLASS, ENG_SW },
{ NV50_MEMORY_VIRTUAL, ENG_DMA },
{ NV50_P2P, ENG_BUS },
{ NV50_THIRD_PARTY_P2P, ENG_BUS },
{ NVA081_VGPU_CONFIG, ENG_GPU },
{ NVA084_KERNEL_HOST_VGPU_DEVICE, ENG_GPU },
{ NVC372_DISPLAY_SW, ENG_KERNEL_DISPLAY },
{ NVC77F_ANY_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NVCA70_DISPLAY, ENG_KERNEL_DISPLAY },
{ NVCA71_DISP_SF_USER, ENG_KERNEL_DISPLAY },
{ NVCA73_DISP_CAPABILITIES, ENG_KERNEL_DISPLAY },
{ NVCA7A_CURSOR_IMM_CHANNEL_PIO, ENG_KERNEL_DISPLAY },
{ NVCA7B_WINDOW_IMM_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NVCA7D_CORE_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NVCA7E_WINDOW_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NVCB70_DISPLAY, ENG_KERNEL_DISPLAY },
{ NVCB71_DISP_SF_USER, ENG_KERNEL_DISPLAY },
{ NVCB73_DISP_CAPABILITIES, ENG_KERNEL_DISPLAY },
{ NVCB7A_CURSOR_IMM_CHANNEL_PIO, ENG_KERNEL_DISPLAY },
{ NVCB7B_WINDOW_IMM_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NVCB7D_CORE_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NVCB7E_WINDOW_CHANNEL_DMA, ENG_KERNEL_DISPLAY },
{ NV_CONFIDENTIAL_COMPUTE, ENG_CONF_COMPUTE },
{ RM_USER_SHARED_DATA, ENG_GPU },
{ TURING_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ TURING_USERMODE_A, ENG_GPU },
{ VOLTA_CHANNEL_GPFIFO_A, ENG_KERNEL_FIFO },
{ VOLTA_USERMODE_A, ENG_GPU },
};
#define HALGB20B_NUM_CLASS_DESCS (sizeof(halGB20BClassDescriptorList) / sizeof(CLASSDESCRIPTOR))
#define HALGB20B_NUM_CLASSES 75
ct_assert(NV0080_CTRL_GPU_CLASSLIST_MAX_SIZE >= HALGB20B_NUM_CLASSES);
*pNumClassDescriptors = HALGB20B_NUM_CLASS_DESCS;
return halGB20BClassDescriptorList;
}