Skip to content

Commit d5cb404

Browse files
committed
570.153.02
1 parent 8ec351a commit d5cb404

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+970
-322
lines changed

README.md

Lines changed: 10 additions & 3 deletions
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 570.144.
4+
version 570.153.02.
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-
570.144 driver release. This can be achieved by installing
20+
570.153.02 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

@@ -185,7 +185,7 @@ table below).
185185
For details on feature support and limitations, see the NVIDIA GPU driver
186186
end user README here:
187187

188-
https://us.download.nvidia.com/XFree86/Linux-x86_64/570.144/README/kernel_open.html
188+
https://us.download.nvidia.com/XFree86/Linux-x86_64/570.153.02/README/kernel_open.html
189189

190190
For vGPU support, please refer to the README.vgpu packaged in the vGPU Host
191191
Package for more details.
@@ -954,6 +954,10 @@ Subsystem Device ID.
954954
| NVIDIA RTX PRO 6000 Blackwell Workstation Edition | 2BB1 103C 204B |
955955
| NVIDIA RTX PRO 6000 Blackwell Workstation Edition | 2BB1 10DE 204B |
956956
| NVIDIA RTX PRO 6000 Blackwell Workstation Edition | 2BB1 17AA 204B |
957+
| NVIDIA RTX PRO 5000 Blackwell | 2BB3 1028 204D |
958+
| NVIDIA RTX PRO 5000 Blackwell | 2BB3 103C 204D |
959+
| NVIDIA RTX PRO 5000 Blackwell | 2BB3 10DE 204D |
960+
| NVIDIA RTX PRO 5000 Blackwell | 2BB3 17AA 204D |
957961
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | 2BB4 1028 204C |
958962
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | 2BB4 103C 204C |
959963
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | 2BB4 10DE 204C |
@@ -964,6 +968,9 @@ Subsystem Device ID.
964968
| NVIDIA GeForce RTX 5080 Laptop GPU | 2C19 |
965969
| NVIDIA GeForce RTX 5090 Laptop GPU | 2C58 |
966970
| NVIDIA GeForce RTX 5080 Laptop GPU | 2C59 |
971+
| NVIDIA GeForce RTX 5060 Ti | 2D04 |
972+
| NVIDIA GeForce RTX 5070 Laptop GPU | 2D18 |
973+
| NVIDIA GeForce RTX 5070 Laptop GPU | 2D58 |
967974
| NVIDIA GeForce RTX 5070 | 2F04 |
968975
| NVIDIA GeForce RTX 5070 Ti Laptop GPU | 2F18 |
969976
| NVIDIA GeForce RTX 5070 Ti Laptop GPU | 2F58 |

kernel-open/Kbuild

Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,14 @@ $(foreach _module, $(NV_KERNEL_MODULES), \
7575
$(eval include $(src)/$(_module)/$(_module).Kbuild))
7676

7777

78-
#
79-
# Define CFLAGS that apply to all the NVIDIA kernel modules. EXTRA_CFLAGS
80-
# is deprecated since 2.6.24 in favor of ccflags-y, but we need to support
81-
# older kernels which do not have ccflags-y. Newer kernels append
82-
# $(EXTRA_CFLAGS) to ccflags-y for compatibility.
83-
#
84-
85-
EXTRA_CFLAGS += -I$(src)/common/inc
86-
EXTRA_CFLAGS += -I$(src)
87-
EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
88-
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM
89-
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"570.144\"
78+
ccflags-y += -I$(src)/common/inc
79+
ccflags-y += -I$(src)
80+
ccflags-y += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
81+
ccflags-y += -D__KERNEL__ -DMODULE -DNVRM
82+
ccflags-y += -DNV_VERSION_STRING=\"570.153.02\"
9083

9184
ifneq ($(SYSSRCHOST1X),)
92-
EXTRA_CFLAGS += -I$(SYSSRCHOST1X)
85+
ccflags-y += -I$(SYSSRCHOST1X)
9386
endif
9487

9588
# Some Android kernels prohibit driver use of filesystem functions like
@@ -99,57 +92,57 @@ endif
9992
PLATFORM_IS_ANDROID ?= 0
10093

10194
ifeq ($(PLATFORM_IS_ANDROID),1)
102-
EXTRA_CFLAGS += -DNV_FILESYSTEM_ACCESS_AVAILABLE=0
95+
ccflags-y += -DNV_FILESYSTEM_ACCESS_AVAILABLE=0
10396
else
104-
EXTRA_CFLAGS += -DNV_FILESYSTEM_ACCESS_AVAILABLE=1
97+
ccflags-y += -DNV_FILESYSTEM_ACCESS_AVAILABLE=1
10598
endif
10699

107-
EXTRA_CFLAGS += -Wno-unused-function
100+
ccflags-y += -Wno-unused-function
108101

109102
ifneq ($(NV_BUILD_TYPE),debug)
110-
EXTRA_CFLAGS += -Wuninitialized
103+
ccflags-y += -Wuninitialized
111104
endif
112105

113-
EXTRA_CFLAGS += -fno-strict-aliasing
106+
ccflags-y += -fno-strict-aliasing
114107

115108
ifeq ($(ARCH),arm64)
116-
EXTRA_CFLAGS += -mstrict-align
109+
ccflags-y += -mstrict-align
117110
endif
118111

119112
ifeq ($(NV_BUILD_TYPE),debug)
120-
EXTRA_CFLAGS += -g
113+
ccflags-y += -g
121114
endif
122115

123-
EXTRA_CFLAGS += -ffreestanding
116+
ccflags-y += -ffreestanding
124117

125118
ifeq ($(ARCH),arm64)
126-
EXTRA_CFLAGS += -mgeneral-regs-only -march=armv8-a
127-
EXTRA_CFLAGS += $(call cc-option,-mno-outline-atomics,)
119+
ccflags-y += -mgeneral-regs-only -march=armv8-a
120+
ccflags-y += $(call cc-option,-mno-outline-atomics,)
128121
endif
129122

130123
ifeq ($(ARCH),x86_64)
131-
EXTRA_CFLAGS += -mno-red-zone -mcmodel=kernel
124+
ccflags-y += -mno-red-zone -mcmodel=kernel
132125
endif
133126

134127
ifeq ($(ARCH),powerpc)
135-
EXTRA_CFLAGS += -mlittle-endian -mno-strict-align
128+
ccflags-y += -mlittle-endian -mno-strict-align
136129
endif
137130

138-
EXTRA_CFLAGS += -DNV_UVM_ENABLE
139-
EXTRA_CFLAGS += $(call cc-option,-Werror=undef,)
140-
EXTRA_CFLAGS += -DNV_SPECTRE_V2=$(NV_SPECTRE_V2)
141-
EXTRA_CFLAGS += -DNV_KERNEL_INTERFACE_LAYER
131+
ccflags-y += -DNV_UVM_ENABLE
132+
ccflags-y += $(call cc-option,-Werror=undef,)
133+
ccflags-y += -DNV_SPECTRE_V2=$(NV_SPECTRE_V2)
134+
ccflags-y += -DNV_KERNEL_INTERFACE_LAYER
142135

143136
#
144137
# Detect SGI UV systems and apply system-specific optimizations.
145138
#
146139

147140
ifneq ($(wildcard /proc/sgi_uv),)
148-
EXTRA_CFLAGS += -DNV_CONFIG_X86_UV
141+
ccflags-y += -DNV_CONFIG_X86_UV
149142
endif
150143

151144
ifdef VGX_FORCE_VFIO_PCI_CORE
152-
EXTRA_CFLAGS += -DNV_VGPU_FORCE_VFIO_PCI_CORE
145+
ccflags-y += -DNV_VGPU_FORCE_VFIO_PCI_CORE
153146
endif
154147

155148
WARNINGS_AS_ERRORS ?=
@@ -183,7 +176,8 @@ NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST_SCRIPT) \
183176

184177
NV_CFLAGS_FROM_CONFTEST := $(shell $(NV_CONFTEST_CMD) build_cflags)
185178

186-
NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST) $(EXTRA_CFLAGS) -fno-pie
179+
NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST) $(ccflags-y) -fno-pie
180+
NV_CONFTEST_CFLAGS += $(filter -std=%,$(KBUILD_CFLAGS))
187181
NV_CONFTEST_CFLAGS += $(call cc-disable-warning,pointer-sign)
188182
NV_CONFTEST_CFLAGS += $(call cc-option,-fshort-wchar,)
189183
NV_CONFTEST_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types,)

kernel-open/common/inc/nv-timer.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: Copyright (c) 2017 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
* SPDX-FileCopyrightText: Copyright (c) 2017-2025 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
@@ -63,4 +63,13 @@ static inline void nv_timer_setup(struct nv_timer *nv_timer,
6363
#endif
6464
}
6565

66+
static inline void nv_timer_delete_sync(struct timer_list *timer)
67+
{
68+
#if !defined(NV_BSD) && NV_IS_EXPORT_SYMBOL_PRESENT_timer_delete_sync
69+
timer_delete_sync(timer);
70+
#else
71+
del_timer_sync(timer);
72+
#endif
73+
}
74+
6675
#endif // __NV_TIMER_H__

kernel-open/conftest.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3132,6 +3132,21 @@ compile_test() {
31323132
compile_check_conftest "$CODE" "NV_FOLL_LONGTERM_PRESENT" "" "types"
31333133
;;
31343134

3135+
has_enum_pidtype_tgid)
3136+
# Determine if PIDTYPE_TGID is present in the kernel as an enum
3137+
#
3138+
# Added by commit 6883f81aac6f ("pid: Implement PIDTYPE_TGID")
3139+
# in v4.19
3140+
#
3141+
CODE="
3142+
#include <linux/pid.h>
3143+
3144+
enum pid_type type = PIDTYPE_TGID;
3145+
"
3146+
3147+
compile_check_conftest "$CODE" "NV_HAS_ENUM_PIDTYPE_TGID" "" "types"
3148+
;;
3149+
31353150
vfio_pin_pages_has_vfio_device_arg)
31363151
#
31373152
# Determine if vfio_pin_pages() kABI accepts "struct vfio_device *"
@@ -7546,6 +7561,22 @@ compile_test() {
75467561
compile_check_conftest "$CODE" "NV_STRUCT_PAGE_HAS_ZONE_DEVICE_DATA" "" "types"
75477562
;;
75487563

7564+
page_pgmap)
7565+
#
7566+
# Determine if the page_pgmap() function is present.
7567+
#
7568+
# Added by commit 82ba975e4c43 ("mm: allow compound zone device
7569+
# pages") in v6.14
7570+
#
7571+
CODE="
7572+
#include <linux/mmzone.h>
7573+
int conftest_page_pgmap(void) {
7574+
return page_pgmap(NULL);
7575+
}"
7576+
7577+
compile_check_conftest "$CODE" "NV_PAGE_PGMAP_PRESENT" "" "functions"
7578+
;;
7579+
75497580
folio_test_swapcache)
75507581
#
75517582
# Determine if the folio_test_swapcache() function is present.

kernel-open/nvidia-drm/nvidia-drm-fence.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2+
* Copyright (c) 2016-2025, NVIDIA CORPORATION. All rights reserved.
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a
55
* copy of this software and associated documentation files (the "Software"),
@@ -1132,7 +1132,7 @@ static void __nv_drm_semsurf_fence_ctx_destroy(
11321132
*/
11331133
nv_drm_workthread_shutdown(&ctx->worker);
11341134

1135-
nv_drm_del_timer_sync(&ctx->timer);
1135+
nv_timer_delete_sync(&ctx->timer.kernel_timer);
11361136

11371137
/*
11381138
* The semaphore surface could still be sending callbacks, so it is still

kernel-open/nvidia-drm/nvidia-drm-os-interface.c

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2015-2023, NVIDIA CORPORATION. All rights reserved.
2+
* Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a
55
* copy of this software and associated documentation files (the "Software"),
@@ -236,15 +236,6 @@ unsigned long nv_drm_timeout_from_ms(NvU64 relative_timeout_ms)
236236
return jiffies + msecs_to_jiffies(relative_timeout_ms);
237237
}
238238

239-
bool nv_drm_del_timer_sync(nv_drm_timer *timer)
240-
{
241-
if (del_timer_sync(&timer->kernel_timer)) {
242-
return true;
243-
} else {
244-
return false;
245-
}
246-
}
247-
248239
#if defined(NV_DRM_FENCE_AVAILABLE)
249240
int nv_drm_create_sync_file(nv_dma_fence_t *fence)
250241
{

kernel-open/nvidia-drm/nvidia-drm-os-interface.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.
2+
* Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a
55
* copy of this software and associated documentation files (the "Software"),
@@ -111,8 +111,6 @@ void nv_drm_timer_setup(nv_drm_timer *timer,
111111

112112
void nv_drm_mod_timer(nv_drm_timer *timer, unsigned long relative_timeout_ms);
113113

114-
bool nv_drm_del_timer_sync(nv_drm_timer *timer);
115-
116114
unsigned long nv_drm_timer_now(void);
117115

118116
unsigned long nv_drm_timeout_from_ms(NvU64 relative_timeout_ms);

kernel-open/nvidia-drm/nvidia-drm-sources.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_gpl_refcount_dec_and_test
3737
NV_CONFTEST_GENERIC_COMPILE_TESTS += drm_alpha_blending_available
3838
NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_present_drm_gem_prime_fd_to_handle
3939
NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_present_drm_gem_prime_handle_to_fd
40+
NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_present_timer_delete_sync
4041

4142
NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_dev_unref
4243
NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_reinit_primary_mode_group

kernel-open/nvidia-modeset/nvidia-modeset-linux.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: Copyright (c) 2015-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
* SPDX-FileCopyrightText: Copyright (c) 2015-2025 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
@@ -53,6 +53,7 @@
5353
#include "nv-procfs.h"
5454
#include "nv-kthread-q.h"
5555
#include "nv-time.h"
56+
#include "nv-timer.h"
5657
#include "nv-lock.h"
5758
#include "nv-chardev-numbers.h"
5859

@@ -738,7 +739,7 @@ static void nvkms_kthread_q_callback(void *arg)
738739
* pending timers and than waiting for workqueue callbacks.
739740
*/
740741
if (timer->kernel_timer_created) {
741-
del_timer_sync(&timer->kernel_timer);
742+
nv_timer_delete_sync(&timer->kernel_timer);
742743
}
743744

744745
/*
@@ -1922,7 +1923,11 @@ static void __exit nvkms_exit(void)
19221923
* completion, and we wait for queue completion with
19231924
* nv_kthread_q_stop below.
19241925
*/
1926+
#if !defined(NV_BSD) && NV_IS_EXPORT_SYMBOL_PRESENT_timer_delete_sync
1927+
if (timer_delete_sync(&timer->kernel_timer) == 1) {
1928+
#else
19251929
if (del_timer_sync(&timer->kernel_timer) == 1) {
1930+
#endif
19261931
/* We've deactivated timer so we need to clean after it */
19271932
list_del(&timer->timers_list);
19281933

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,5 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_real_ts64
103103
NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_raw_ts64
104104
NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_video_backlight_use_native
105105
NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_video_register_backlight
106+
NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_timer_delete_sync
106107
NV_CONFTEST_FUNCTION_COMPILE_TESTS += kernel_read_has_pointer_pos_arg

0 commit comments

Comments
 (0)