Skip to content

Commit 346011d

Browse files
committed
550.142
1 parent 7a6a5a1 commit 346011d

File tree

37 files changed

+756
-565
lines changed

37 files changed

+756
-565
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# NVIDIA Linux Open GPU Kernel Module Source
22

33
This is the source release of the NVIDIA Linux open GPU kernel modules,
4-
version 550.135.
4+
version 550.142.
55

66

77
## How to Build
@@ -17,7 +17,7 @@ as root:
1717

1818
Note that the kernel modules built here must be used with GSP
1919
firmware and user-space NVIDIA GPU driver components from a corresponding
20-
550.135 driver release. This can be achieved by installing
20+
550.142 driver release. This can be achieved by installing
2121
the NVIDIA GPU driver from the .run file using the `--no-kernel-modules`
2222
option. E.g.,
2323

@@ -188,7 +188,7 @@ encountered specific to them.
188188
For details on feature support and limitations, see the NVIDIA GPU driver
189189
end user README here:
190190

191-
https://us.download.nvidia.com/XFree86/Linux-x86_64/550.135/README/kernel_open.html
191+
https://us.download.nvidia.com/XFree86/Linux-x86_64/550.142/README/kernel_open.html
192192

193193
For vGPU support, please refer to the README.vgpu packaged in the vGPU Host
194194
Package for more details.
@@ -755,7 +755,6 @@ Subsystem Device ID.
755755
| NVIDIA H20 | 2329 10DE 198B |
756756
| NVIDIA H20 | 2329 10DE 198C |
757757
| NVIDIA H20-3e | 232C 10DE 2063 |
758-
| NVIDIA H20-3e | 232C 10DE 2064 |
759758
| NVIDIA H100 80GB HBM3 | 2330 10DE 16C0 |
760759
| NVIDIA H100 80GB HBM3 | 2330 10DE 16C1 |
761760
| NVIDIA H100 PCIe | 2331 10DE 1626 |
@@ -920,6 +919,7 @@ Subsystem Device ID.
920919
| NVIDIA GeForce RTX 4060 | 2882 |
921920
| NVIDIA GeForce RTX 4060 Laptop GPU | 28A0 |
922921
| NVIDIA GeForce RTX 4050 Laptop GPU | 28A1 |
922+
| NVIDIA GeForce RTX 3050 A Laptop GPU | 28A3 |
923923
| NVIDIA RTX 2000 Ada Generation | 28B0 1028 1870 |
924924
| NVIDIA RTX 2000 Ada Generation | 28B0 103C 1870 |
925925
| NVIDIA RTX 2000E Ada Generation | 28B0 103C 1871 |

kernel-open/Kbuild

+15-1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,20 @@ ifeq ($(NV_UNDEF_BEHAVIOR_SANITIZER),1)
5757
UBSAN_SANITIZE := y
5858
endif
5959

60+
#
61+
# Command to create a symbolic link, explicitly resolving the symlink target
62+
# to an absolute path to abstract away the difference between Linux < 6.13,
63+
# where the CWD is the Linux kernel source tree for Kbuild extmod builds, and
64+
# Linux >= 6.13, where the CWD is the external module source tree.
65+
#
66+
# This is used to create the nv*-kernel.o -> nv*-kernel.o_binary symlinks for
67+
# kernel modules which use precompiled binary object files.
68+
#
69+
70+
quiet_cmd_symlink = SYMLINK $@
71+
cmd_symlink = ln -sf $(abspath $<) $@
72+
73+
6074
$(foreach _module, $(NV_KERNEL_MODULES), \
6175
$(eval include $(src)/$(_module)/$(_module).Kbuild))
6276

@@ -72,7 +86,7 @@ EXTRA_CFLAGS += -I$(src)/common/inc
7286
EXTRA_CFLAGS += -I$(src)
7387
EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
7488
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM
75-
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"550.135\"
89+
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"550.142\"
7690

7791
ifneq ($(SYSSRCHOST1X),)
7892
EXTRA_CFLAGS += -I$(SYSSRCHOST1X)

kernel-open/nvidia-modeset/nvidia-modeset.Kbuild

-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ NV_KERNEL_MODULE_TARGETS += $(NVIDIA_MODESET_KO)
4040
NVIDIA_MODESET_BINARY_OBJECT := $(src)/nvidia-modeset/nv-modeset-kernel.o_binary
4141
NVIDIA_MODESET_BINARY_OBJECT_O := nvidia-modeset/nv-modeset-kernel.o
4242

43-
quiet_cmd_symlink = SYMLINK $@
44-
cmd_symlink = ln -sf $< $@
45-
4643
targets += $(NVIDIA_MODESET_BINARY_OBJECT_O)
4744

4845
$(obj)/$(NVIDIA_MODESET_BINARY_OBJECT_O): $(NVIDIA_MODESET_BINARY_OBJECT) FORCE

kernel-open/nvidia-uvm/uvm.c

+3
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,9 @@ static void uvm_vm_open_semaphore_pool(struct vm_area_struct *vma)
682682
// Semaphore pool vmas do not have vma wrappers, but some functions will
683683
// assume vm_private_data is a wrapper.
684684
vma->vm_private_data = NULL;
685+
#if defined(VM_WIPEONFORK)
686+
nv_vm_flags_set(vma, VM_WIPEONFORK);
687+
#endif
685688

686689
if (is_fork) {
687690
// If we forked, leave the parent vma alone.

kernel-open/nvidia/nvidia.Kbuild

-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ NVIDIA_KO = nvidia/nvidia.ko
4040
NVIDIA_BINARY_OBJECT := $(src)/nvidia/nv-kernel.o_binary
4141
NVIDIA_BINARY_OBJECT_O := nvidia/nv-kernel.o
4242

43-
quiet_cmd_symlink = SYMLINK $@
44-
cmd_symlink = ln -sf $< $@
45-
4643
targets += $(NVIDIA_BINARY_OBJECT_O)
4744

4845
$(obj)/$(NVIDIA_BINARY_OBJECT_O): $(NVIDIA_BINARY_OBJECT) FORCE

src/common/inc/nvBldVer.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,18 @@
4343
#endif
4444

4545
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS)
46-
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r550/r550_00-475"
47-
#define NV_BUILD_CHANGELIST_NUM (35120799)
46+
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r550/r550_00-505"
47+
#define NV_BUILD_CHANGELIST_NUM (35247928)
4848
#define NV_BUILD_TYPE "Official"
49-
#define NV_BUILD_NAME "rel/gpu_drv/r550/r550_00-475"
50-
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (35120799)
49+
#define NV_BUILD_NAME "rel/gpu_drv/r550/r550_00-505"
50+
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (35247928)
5151

5252
#else /* Windows builds */
53-
#define NV_BUILD_BRANCH_VERSION "r550_00-438"
54-
#define NV_BUILD_CHANGELIST_NUM (35120799)
53+
#define NV_BUILD_BRANCH_VERSION "r550_00-470"
54+
#define NV_BUILD_CHANGELIST_NUM (35247928)
5555
#define NV_BUILD_TYPE "Official"
56-
#define NV_BUILD_NAME "553.35"
57-
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (35120799)
56+
#define NV_BUILD_NAME "553.50"
57+
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (35247928)
5858
#define NV_BUILD_BRANCH_BASE_VERSION R550
5959
#endif
6060
// End buildmeister python edited section

src/common/inc/nvUnixVersion.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || \
55
(defined(RMCFG_FEATURE_PLATFORM_GSP) && RMCFG_FEATURE_PLATFORM_GSP == 1)
66

7-
#define NV_VERSION_STRING "550.135"
7+
#define NV_VERSION_STRING "550.142"
88

99
#else
1010

src/common/inc/nvlog_defs.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,10 @@ struct _NVLOG_BUFFER
102102

103103
#define NVLOG_MAX_BUFFERS_v11 16
104104
#define NVLOG_MAX_BUFFERS_v12 256
105+
#define NVLOG_MAX_BUFFERS_v13 3840
105106

106-
#define NVLOG_MAX_BUFFERS NVLOG_MAX_BUFFERS_v12
107-
#define NVLOG_LOGGER_VERSION 12 // v1.2
107+
#define NVLOG_MAX_BUFFERS NVLOG_MAX_BUFFERS_v13
108+
#define NVLOG_LOGGER_VERSION 13 // v1.3
108109

109110
// Due to this file's peculiar location, NvPort may or may not be includable
110111
typedef struct PORT_SPINLOCK PORT_SPINLOCK;

src/common/nvswitch/kernel/smbpbi_nvswitch.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ nvswitch_smbpbi_post_init
8989

9090
if (status == NVL_SUCCESS)
9191
{
92-
#if defined(DEBUG) || defined(DEVELOP) || defined(NV_MODS)
92+
#if defined(DEBUG) || defined(DEVELOP)
9393
nvswitch_lib_smbpbi_log_sxid(device, NVSWITCH_ERR_NO_ERROR,
9494
"NVSWITCH SMBPBI server is online.");
95-
#endif // defined(DEBUG) || defined(DEVELOP) || defined(NV_MODS)
95+
#endif // defined(DEBUG) || defined(DEVELOP)
9696

9797
NVSWITCH_PRINT(device, INFO, "%s: SMBPBI POST INIT completed\n", __FUNCTION__);
9898
}

src/common/sdk/nvidia/inc/ctrl/ctrl0000/ctrl0000nvd.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ typedef struct NV0000_CTRL_NVD_GET_TIMESTAMP_PARAMS {
256256
#define NV0000_CTRL_NVD_SIGNATURE_SIZE (4)
257257

258258
/* Maximum number of buffers */
259-
#define NV0000_CTRL_NVD_MAX_BUFFERS (256)
259+
#define NV0000_CTRL_NVD_MAX_BUFFERS (3840)
260260

261261
#define NV0000_CTRL_NVD_GET_NVLOG_INFO_PARAMS_MESSAGE_ID (0x4U)
262262

src/common/sdk/nvidia/inc/ctrl/ctrl0080/ctrl0080internal.h

+13-1
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,16 @@ typedef struct NV0080_CTRL_INTERNAL_FIFO_RC_AND_PERMANENTLY_DISABLE_CHANNELS_PAR
114114
NvHandle clientHandles[NV_FIFO_PERMANENTLY_DISABLE_CHANNELS_MAX_CLIENTS];
115115
} NV0080_CTRL_INTERNAL_FIFO_RC_AND_PERMANENTLY_DISABLE_CHANNELS_PARAMS;
116116

117-
/* ctrl0080internal_h */
117+
118+
119+
#define NV0080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS_MESSAGE_ID (0x45U)
120+
121+
typedef struct NV0080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS {
122+
NvBool bTeardown;
123+
} NV0080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS;
124+
125+
#define NV0080_CTRL_CMD_INTERNAL_KGR_INIT_BUG4208224_WAR (0x802046) /* finn: Evaluated from "(FINN_NV01_DEVICE_0_INTERNAL_INTERFACE_ID << 8) | NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS_MESSAGE_ID" */
126+
#define NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS_MESSAGE_ID (0x46U)
127+
128+
typedef NV0080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS;
129+

src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080internal.h

-13
Original file line numberDiff line numberDiff line change
@@ -863,19 +863,6 @@ typedef NV2080_CTRL_INTERNAL_MIGMGR_PROMOTE_GPU_INSTANCE_MEM_RANGE_PARAMS NV2080
863863

864864
#define NV2080_CTRL_CMD_INTERNAL_MIGMGR_PROMOTE_GPU_INSTANCE_MEM_RANGE (0x20800a43) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_INTERNAL_INTERFACE_ID << 8) | NV2080_CTRL_INTERNAL_MIGMGR_PROMOTE_GPU_INSTANCE_MEM_RANGE_PARAMS_MESSAGE_ID" */
865865

866-
867-
868-
#define NV2080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS_MESSAGE_ID (0x45U)
869-
870-
typedef struct NV2080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS {
871-
NvBool bTeardown;
872-
} NV2080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS;
873-
874-
#define NV2080_CTRL_CMD_INTERNAL_KGR_INIT_BUG4208224_WAR (0x20800a46) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_INTERNAL_INTERFACE_ID << 8) | NV2080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS_MESSAGE_ID" */
875-
#define NV2080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS_MESSAGE_ID (0x46U)
876-
877-
typedef NV2080_CTRL_INTERNAL_GR_INIT_BUG4208224_WAR_PARAMS NV2080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS;
878-
879866
typedef struct NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES {
880867
NvBool bPerSubCtxheaderSupported;
881868
} NV2080_CTRL_INTERNAL_STATIC_GR_PDB_PROPERTIES;

src/common/uproc/os/common/include/liblogdecode.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ extern "C" {
4242
# define LIBOS_LOG_DECODE_ENABLE 1
4343
# define LIBOS_LOG_TO_NVLOG 0
4444

45-
# define LIBOS_LOG_MAX_LOGS 160 // Max logs for all GPUs for offline decoder
45+
# define LIBOS_LOG_MAX_LOGS 3840 // Max logs for all GPUs for offline decoder
4646

4747
#else
4848
# error "Need to define either NVRM or LIBOS_LOG_OFFLINE_DECODER."

src/nvidia/arch/nvalloc/common/inc/nvcst.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ CHIPSET_SETUP_FUNC(Intel_4381_setupFunc)
6666
CHIPSET_SETUP_FUNC(Intel_7A82_setupFunc)
6767
CHIPSET_SETUP_FUNC(Intel_7A04_setupFunc)
6868
CHIPSET_SETUP_FUNC(Intel_5795_setupFunc)
69+
CHIPSET_SETUP_FUNC(Intel_1B81_setupFunc)
6970
CHIPSET_SETUP_FUNC(SiS_656_setupFunc)
7071
CHIPSET_SETUP_FUNC(ATI_RS400_setupFunc)
7172
CHIPSET_SETUP_FUNC(ATI_RS480_setupFunc)
@@ -189,8 +190,8 @@ CSINFO chipsetInfo[] =
189190
{PCI_VENDOR_ID_INTEL, 0x4385, CS_INTEL_4381, "Intel-RocketLake", Intel_4381_setupFunc},
190191
{PCI_VENDOR_ID_INTEL, 0x7A82, CS_INTEL_7A82, "Intel-AlderLake", Intel_7A82_setupFunc},
191192
{PCI_VENDOR_ID_INTEL, 0x7A84, CS_INTEL_7A82, "Intel-AlderLake", Intel_7A82_setupFunc},
192-
{PCI_VENDOR_ID_INTEL, 0x1B81, CS_INTEL_1B81, "Intel-SapphireRapids", NULL},
193-
{PCI_VENDOR_ID_INTEL, 0x7A8A, CS_INTEL_1B81, "Intel-SapphireRapids", NULL},
193+
{PCI_VENDOR_ID_INTEL, 0x1B81, CS_INTEL_1B81, "Intel-SapphireRapids", Intel_1B81_setupFunc},
194+
{PCI_VENDOR_ID_INTEL, 0x7A8A, CS_INTEL_1B81, "Intel-SapphireRapids", Intel_1B81_setupFunc},
194195
{PCI_VENDOR_ID_INTEL, 0x18DC, CS_INTEL_18DC, "Intel-IceLake", NULL},
195196
{PCI_VENDOR_ID_INTEL, 0x7A04, CS_INTEL_7A04, "Intel-RaptorLake", Intel_7A04_setupFunc},
196197
{PCI_VENDOR_ID_INTEL, 0x5795, CS_INTEL_5795, "Intel-GraniteRapids", Intel_5795_setupFunc},

src/nvidia/arch/nvalloc/common/inc/nvpcie.h

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: Copyright (c) 2000-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
* SPDX-FileCopyrightText: Copyright (c) 2000-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
* SPDX-License-Identifier: MIT
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -211,18 +211,21 @@
211211
// to any specific hardware.
212212
//
213213
//
214-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0 0x000000C8
215-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_ID 7:0
216-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_NEXT 15:8
217-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_LENGTH 23:16
218-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_SIG_LO 31:24
219-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1 0x000000CC
220-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_SIG_HI 15:0
221-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_VERSION 18:16
222-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_PEER_CLIQUE_ID 22:19
223-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_RSVD 31:23
224-
225-
#define NV_PCI_VIRTUAL_P2P_APPROVAL_SIGNATURE 0x00503250
214+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0 0x000000C8
215+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_ID 7:0
216+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_NEXT 15:8
217+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_LENGTH 23:16
218+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_0_SIG_LO 31:24
219+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1 0x000000CC
220+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_SIG_HI 15:0
221+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_VERSION 18:16
222+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_PEER_CLIQUE_ID 22:19
223+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_RELAXED_ORDERING 23:23
224+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_RELAXED_ORDERING_DEFAULT 0x00000000
225+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_RELAXED_ORDERING_DISABLE 0x00000001
226+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_CAP_1_RSVD 31:24
227+
228+
#define NV_PCI_VIRTUAL_P2P_APPROVAL_SIGNATURE 0x00503250
226229

227230
// Chipset-specific definitions.
228231
// Intel SantaRosa definitions

src/nvidia/generated/g_device_nvoc.c

+20-1
Original file line numberDiff line numberDiff line change
@@ -1142,14 +1142,29 @@ static const struct NVOC_EXPORTED_METHOD_DEF __nvoc_exported_method_def_Device[]
11421142
/*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
11431143
#if NV_PRINTF_STRINGS_ALLOWED
11441144
/*func=*/ "deviceCtrlCmdInternalPerfCudaLimitSetControl"
1145+
#endif
1146+
},
1147+
{ /* [63] */
1148+
#if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0xe40u)
1149+
/*pFunc=*/ (void (*)(void)) NULL,
1150+
#else
1151+
/*pFunc=*/ (void (*)(void)) deviceCtrlCmdKGrInternalInitBug4208224War_IMPL,
1152+
#endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0xe40u)
1153+
/*flags=*/ 0xe40u,
1154+
/*accessRight=*/0x0u,
1155+
/*methodId=*/ 0x802046u,
1156+
/*paramSize=*/ sizeof(NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS),
1157+
/*pClassInfo=*/ &(__nvoc_class_def_Device.classInfo),
1158+
#if NV_PRINTF_STRINGS_ALLOWED
1159+
/*func=*/ "deviceCtrlCmdKGrInternalInitBug4208224War"
11451160
#endif
11461161
},
11471162

11481163
};
11491164

11501165
const struct NVOC_EXPORT_INFO __nvoc_export_info_Device =
11511166
{
1152-
/*numEntries=*/ 63,
1167+
/*numEntries=*/ 64,
11531168
/*pExportEntries=*/ __nvoc_exported_method_def_Device
11541169
};
11551170

@@ -1298,6 +1313,10 @@ static void __nvoc_init_funcTable_Device_1(Device *pThis, RmHalspecOwner *pRmhal
12981313
pThis->__deviceCtrlCmdKGrSetTpcPartitionMode__ = &deviceCtrlCmdKGrSetTpcPartitionMode_IMPL;
12991314
#endif
13001315

1316+
#if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0xe40u)
1317+
pThis->__deviceCtrlCmdKGrInternalInitBug4208224War__ = &deviceCtrlCmdKGrInternalInitBug4208224War_IMPL;
1318+
#endif
1319+
13011320
#if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
13021321
pThis->__deviceCtrlCmdFbGetCompbitStoreInfo__ = &deviceCtrlCmdFbGetCompbitStoreInfo_IMPL;
13031322
#endif

src/nvidia/generated/g_device_nvoc.h

+8
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ struct Device {
112112
NV_STATUS (*__deviceCtrlCmdKGrGetInfoV2__)(struct Device *, NV0080_CTRL_GR_GET_INFO_V2_PARAMS *);
113113
NV_STATUS (*__deviceCtrlCmdKGrGetTpcPartitionMode__)(struct Device *, NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS *);
114114
NV_STATUS (*__deviceCtrlCmdKGrSetTpcPartitionMode__)(struct Device *, NV0080_CTRL_GR_TPC_PARTITION_MODE_PARAMS *);
115+
NV_STATUS (*__deviceCtrlCmdKGrInternalInitBug4208224War__)(struct Device *, NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS *);
115116
NV_STATUS (*__deviceCtrlCmdFbGetCompbitStoreInfo__)(struct Device *, NV0080_CTRL_FB_GET_COMPBIT_STORE_INFO_PARAMS *);
116117
NV_STATUS (*__deviceCtrlCmdFbGetCaps__)(struct Device *, NV0080_CTRL_FB_GET_CAPS_PARAMS *);
117118
NV_STATUS (*__deviceCtrlCmdFbGetCapsV2__)(struct Device *, NV0080_CTRL_FB_GET_CAPS_V2_PARAMS *);
@@ -250,6 +251,7 @@ NV_STATUS __nvoc_objCreate_Device(Device**, Dynamic*, NvU32, struct CALL_CONTEXT
250251
#define deviceCtrlCmdKGrGetInfoV2(pDevice, pParams) deviceCtrlCmdKGrGetInfoV2_DISPATCH(pDevice, pParams)
251252
#define deviceCtrlCmdKGrGetTpcPartitionMode(pDevice, pParams) deviceCtrlCmdKGrGetTpcPartitionMode_DISPATCH(pDevice, pParams)
252253
#define deviceCtrlCmdKGrSetTpcPartitionMode(pDevice, pParams) deviceCtrlCmdKGrSetTpcPartitionMode_DISPATCH(pDevice, pParams)
254+
#define deviceCtrlCmdKGrInternalInitBug4208224War(pDevice, pParams) deviceCtrlCmdKGrInternalInitBug4208224War_DISPATCH(pDevice, pParams)
253255
#define deviceCtrlCmdFbGetCompbitStoreInfo(pDevice, pCompbitStoreParams) deviceCtrlCmdFbGetCompbitStoreInfo_DISPATCH(pDevice, pCompbitStoreParams)
254256
#define deviceCtrlCmdFbGetCaps(pDevice, pFbCapsParams) deviceCtrlCmdFbGetCaps_DISPATCH(pDevice, pFbCapsParams)
255257
#define deviceCtrlCmdFbGetCapsV2(pDevice, pFbCapsParams) deviceCtrlCmdFbGetCapsV2_DISPATCH(pDevice, pFbCapsParams)
@@ -470,6 +472,12 @@ static inline NV_STATUS deviceCtrlCmdKGrSetTpcPartitionMode_DISPATCH(struct Devi
470472
return pDevice->__deviceCtrlCmdKGrSetTpcPartitionMode__(pDevice, pParams);
471473
}
472474

475+
NV_STATUS deviceCtrlCmdKGrInternalInitBug4208224War_IMPL(struct Device *pDevice, NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS *pParams);
476+
477+
static inline NV_STATUS deviceCtrlCmdKGrInternalInitBug4208224War_DISPATCH(struct Device *pDevice, NV0080_CTRL_INTERNAL_KGR_INIT_BUG4208224_WAR_PARAMS *pParams) {
478+
return pDevice->__deviceCtrlCmdKGrInternalInitBug4208224War__(pDevice, pParams);
479+
}
480+
473481
NV_STATUS deviceCtrlCmdFbGetCompbitStoreInfo_IMPL(struct Device *pDevice, NV0080_CTRL_FB_GET_COMPBIT_STORE_INFO_PARAMS *pCompbitStoreParams);
474482

475483
static inline NV_STATUS deviceCtrlCmdFbGetCompbitStoreInfo_DISPATCH(struct Device *pDevice, NV0080_CTRL_FB_GET_COMPBIT_STORE_INFO_PARAMS *pCompbitStoreParams) {

src/nvidia/generated/g_intr_nvoc.h

+14-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ extern "C" {
77
#endif
88

99
/*
10-
* SPDX-FileCopyrightText: Copyright (c) 2006-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
10+
* SPDX-FileCopyrightText: Copyright (c) 2006-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1111
* SPDX-License-Identifier: MIT
1212
*
1313
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -149,6 +149,11 @@ interruptEntryIsEmpty(const InterruptEntry *pEntry)
149149
// Default value for intrStuckThreshold
150150
#define INTR_STUCK_THRESHOLD 1000
151151

152+
// Minimum length of interrupt to log as long-running
153+
#define LONG_INTR_LOG_LENGTH_NS (1000000LLU) // 1ms
154+
// Maximum frequency of long-running interrupt print, per engine
155+
#define LONG_INTR_LOG_RATELIMIT_NS (10000000000LLU) // 10s
156+
152157
#define INTR_TABLE_INIT_KERNEL (1 << 0)
153158
#define INTR_TABLE_INIT_PHYSICAL (1 << 1)
154159

@@ -265,6 +270,13 @@ typedef struct Device Device;
265270
#define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x)
266271
#endif
267272

273+
struct __nvoc_inner_struc_Intr_1__ {
274+
NvU32 intrCount;
275+
NvU64 intrLength;
276+
NvU64 lastPrintTime;
277+
};
278+
279+
268280
struct Intr {
269281
const struct NVOC_RTTI *__nvoc_rtti;
270282
struct OBJENGSTATE __nvoc_base_OBJENGSTATE;
@@ -338,6 +350,7 @@ struct Intr {
338350
NvU32 intrEn0Orig;
339351
NvBool halIntrEnabled;
340352
NvU32 saveIntrEn0;
353+
struct __nvoc_inner_struc_Intr_1__ longIntrStats[171];
341354
};
342355

343356
#ifndef __NVOC_CLASS_Intr_TYPEDEF__

0 commit comments

Comments
 (0)