Skip to content

Commit 21c357a

Browse files
committed
515.105.01
1 parent c700e8f commit 21c357a

File tree

69 files changed

+8406
-7388
lines changed

Some content is hidden

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

69 files changed

+8406
-7388
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Release 515 Entries
44

5+
### [515.105.01] 2023-03-30
6+
7+
- Fixed nvenc compatibility with usermode clients [#104](https://github.com/NVIDIA/open-gpu-kernel-modules/issues/104)
8+
59
### [515.86.01] 2022-11-22
610

711
### [515.76] 2022-09-20

README.md

Lines changed: 13 additions & 7 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 515.86.01.
4+
version 515.105.01.
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.bin
1919
firmware and user-space NVIDIA GPU driver components from a corresponding
20-
515.86.01 driver release. This can be achieved by installing
20+
515.105.01 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

@@ -167,15 +167,15 @@ for the target kernel.
167167
## Compatible GPUs
168168

169169
The open-gpu-kernel-modules can be used on any Turing or later GPU
170-
(see the table below). However, in the 515.86.01 release,
170+
(see the table below). However, in the 515.105.01 release,
171171
GeForce and Workstation support is still considered alpha-quality.
172172

173173
To enable use of the open kernel modules on GeForce and Workstation GPUs,
174174
set the "NVreg_OpenRmEnableUnsupportedGpus" nvidia.ko kernel module
175175
parameter to 1. For more details, see the NVIDIA GPU driver end user
176176
README here:
177177

178-
https://us.download.nvidia.com/XFree86/Linux-x86_64/515.86.01/README/kernel_open.html
178+
https://us.download.nvidia.com/XFree86/Linux-x86_64/515.105.01/README/kernel_open.html
179179

180180
In the below table, if three IDs are listed, the first is the PCI Device
181181
ID, the second is the PCI Subsystem Vendor ID, and the third is the PCI
@@ -645,8 +645,8 @@ Subsystem Device ID.
645645
| NVIDIA A100-SXM4-80GB | 20B2 10DE 147F |
646646
| NVIDIA A100-SXM4-80GB | 20B2 10DE 1622 |
647647
| NVIDIA A100-SXM4-80GB | 20B2 10DE 1623 |
648-
| NVIDIA PG506-242 | 20B3 10DE 14A7 |
649-
| NVIDIA PG506-243 | 20B3 10DE 14A8 |
648+
| NVIDIA A100-SXM-64GB | 20B3 10DE 14A7 |
649+
| NVIDIA A100-SXM-64GB | 20B3 10DE 14A8 |
650650
| NVIDIA A100 80GB PCIe | 20B5 10DE 1533 |
651651
| NVIDIA A100 80GB PCIe | 20B5 10DE 1642 |
652652
| NVIDIA PG506-232 | 20B6 10DE 1492 |
@@ -662,7 +662,6 @@ Subsystem Device ID.
662662
| NVIDIA A800-SXM4-80GB | 20F3 10DE 17A2 |
663663
| NVIDIA A800 80GB PCIe | 20F5 10DE 1799 |
664664
| NVIDIA A800 80GB PCIe LC | 20F5 10DE 179A |
665-
| NVIDIA A800 40GB PCIe | 20F6 10DE 17A3 |
666665
| NVIDIA GeForce GTX 1660 Ti | 2182 |
667666
| NVIDIA GeForce GTX 1660 | 2184 |
668667
| NVIDIA GeForce GTX 1650 SUPER | 2187 |
@@ -771,6 +770,7 @@ Subsystem Device ID.
771770
| NVIDIA RTX A2000 12GB | 2571 103C 1611 |
772771
| NVIDIA RTX A2000 12GB | 2571 10DE 1611 |
773772
| NVIDIA RTX A2000 12GB | 2571 17AA 1611 |
773+
| NVIDIA GeForce RTX 3050 | 2582 |
774774
| NVIDIA GeForce RTX 3050 Ti Laptop GPU | 25A0 |
775775
| NVIDIA GeForce RTX 3050Ti Laptop GPU | 25A0 103C 8928 |
776776
| NVIDIA GeForce RTX 3050Ti Laptop GPU | 25A0 103C 89F9 |
@@ -783,6 +783,9 @@ Subsystem Device ID.
783783
| NVIDIA GeForce RTX 2050 | 25A7 |
784784
| NVIDIA GeForce RTX 2050 | 25A9 |
785785
| NVIDIA GeForce MX570 A | 25AA |
786+
| NVIDIA GeForce RTX 3050 4GB Laptop GPU | 25AB |
787+
| NVIDIA GeForce RTX 3050 6GB Laptop GPU | 25AC |
788+
| NVIDIA GeForce RTX 2050 | 25AD |
786789
| NVIDIA A16 | 25B6 10DE 14A9 |
787790
| NVIDIA A2 | 25B6 10DE 157E |
788791
| NVIDIA RTX A2000 Laptop GPU | 25B8 |
@@ -792,5 +795,8 @@ Subsystem Device ID.
792795
| NVIDIA GeForce RTX 3050 Ti Laptop GPU | 25E0 |
793796
| NVIDIA GeForce RTX 3050 Laptop GPU | 25E2 |
794797
| NVIDIA GeForce RTX 3050 Laptop GPU | 25E5 |
798+
| NVIDIA GeForce RTX 3050 6GB Laptop GPU | 25EC |
799+
| NVIDIA GeForce RTX 2050 | 25ED |
795800
| NVIDIA RTX A1000 Embedded GPU | 25F9 |
796801
| NVIDIA RTX A2000 Embedded GPU | 25FA |
802+
| NVIDIA RTX A500 Embedded GPU | 25FB |

kernel-open/Kbuild

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ EXTRA_CFLAGS += -I$(src)/common/inc
7272
EXTRA_CFLAGS += -I$(src)
7373
EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error -Wno-format-extra-args
7474
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM
75-
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"515.86.01\"
75+
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"515.105.01\"
7676

7777
EXTRA_CFLAGS += -Wno-unused-function
7878

kernel-open/conftest.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5305,6 +5305,28 @@ compile_test() {
53055305
compile_check_conftest "$CODE" "NV_ACPI_VIDEO_BACKLIGHT_USE_NATIVE" "" "functions"
53065306
;;
53075307

5308+
drm_connector_has_override_edid)
5309+
#
5310+
# Determine if 'struct drm_connector' has an 'override_edid' member.
5311+
#
5312+
# Removed by commit 90b575f52c6ab ("drm/edid: detach debugfs EDID
5313+
# override from EDID property update") in linux-next, expected in
5314+
# v6.2-rc1.
5315+
#
5316+
CODE="
5317+
#if defined(NV_DRM_DRM_CRTC_H_PRESENT)
5318+
#include <drm/drm_crtc.h>
5319+
#endif
5320+
#if defined(NV_DRM_DRM_CONNECTOR_H_PRESENT)
5321+
#include <drm/drm_connector.h>
5322+
#endif
5323+
int conftest_drm_connector_has_override_edid(void) {
5324+
return offsetof(struct drm_connector, override_edid);
5325+
}"
5326+
5327+
compile_check_conftest "$CODE" "NV_DRM_CONNECTOR_HAS_OVERRIDE_EDID" "" "types"
5328+
;;
5329+
53085330
# When adding a new conftest entry, please use the correct format for
53095331
# specifying the relevant upstream Linux kernel commit.
53105332
#

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242

4343
#include <drm/drm_atomic.h>
4444
#include <drm/drm_atomic_helper.h>
45+
#include <drm/drm_edid.h>
4546

4647
static void nv_drm_connector_destroy(struct drm_connector *connector)
4748
{
@@ -98,7 +99,11 @@ __nv_drm_detect_encoder(struct NvKmsKapiDynamicDisplayParams *pDetectParams,
9899
break;
99100
}
100101

102+
#if defined(NV_DRM_CONNECTOR_HAS_OVERRIDE_EDID)
101103
if (connector->override_edid) {
104+
#else
105+
if (drm_edid_override_connector_update(connector) > 0) {
106+
#endif
102107
const struct drm_property_blob *edid = connector->edid_blob_ptr;
103108

104109
if (edid->length <= sizeof(pDetectParams->edid.buffer)) {

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,6 @@ nv_drm_init_mode_config(struct nv_drm_device *nv_dev,
240240
dev->mode_config.preferred_depth = 24;
241241
dev->mode_config.prefer_shadow = 1;
242242

243-
/* Currently unused. Update when needed. */
244-
245-
dev->mode_config.fb_base = 0;
246-
247243
#if defined(NV_DRM_CRTC_STATE_HAS_ASYNC_FLIP) || \
248244
defined(NV_DRM_CRTC_STATE_HAS_PAGEFLIP_FLAGS)
249245
dev->mode_config.async_page_flip = true;

kernel-open/nvidia-drm/nvidia-drm-gem-nvkms-memory.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ static struct sg_table *__nv_drm_gem_nvkms_memory_prime_get_sg_table(
205205
nv_dev,
206206
"Cannot create sg_table for NvKmsKapiMemory 0x%p",
207207
nv_gem->pMemory);
208-
return NULL;
208+
return ERR_PTR(-ENOMEM);
209209
}
210210

211211
sg_table = nv_drm_prime_pages_to_sg(nv_dev->dev,

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,16 +134,19 @@ static int __nv_drm_put_back_post_fence_fd(
134134
const struct NvKmsKapiLayerReplyConfig *layer_reply_config)
135135
{
136136
int fd = layer_reply_config->postSyncptFd;
137+
int ret = 0;
137138

138139
if ((fd >= 0) && (plane_state->fd_user_ptr != NULL)) {
139-
if (put_user(fd, plane_state->fd_user_ptr)) {
140-
return -EFAULT;
140+
ret = copy_to_user(plane_state->fd_user_ptr, &fd, sizeof(fd));
141+
if (ret != 0) {
142+
return ret;
141143
}
142144

143145
/*! set back to Null and let set_property specify it again */
144146
plane_state->fd_user_ptr = NULL;
145147
}
146-
return 0;
148+
149+
return ret;
147150
}
148151

149152
static int __nv_drm_get_syncpt_data(

kernel-open/nvidia-drm/nvidia-drm.Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_mode_config_has_allow_fb_modifiers
118118
NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_add_fence
119119
NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_reserve_fences
120120
NV_CONFTEST_TYPE_COMPILE_TESTS += reservation_object_reserve_shared_has_num_fences_arg
121+
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_has_override_edid

kernel-open/nvidia-peermem/nvidia-peermem.Kbuild

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,18 @@ NVIDIA_PEERMEM_CFLAGS += -UDEBUG -U_DEBUG -DNDEBUG -DNV_BUILD_MODULE_INSTANCES=0
3030
# MOFED's Module.symvers is needed for the build
3131
# to find the additional ib_* symbols.
3232
#
33+
# Also, MOFED doesn't use kbuild ARCH names.
34+
# So adapt OFA_ARCH to match MOFED's conventions.
35+
#
36+
ifeq ($(ARCH), arm64)
37+
OFA_ARCH := aarch64
38+
else ifeq ($(ARCH), powerpc)
39+
OFA_ARCH := ppc64le
40+
else
41+
OFA_ARCH := $(ARCH)
42+
endif
3343
OFA_DIR := /usr/src/ofa_kernel
34-
OFA_CANDIDATES = $(OFA_DIR)/$(ARCH)/$(KERNELRELEASE) $(OFA_DIR)/$(KERNELRELEASE) $(OFA_DIR)/default /var/lib/dkms/mlnx-ofed-kernel
44+
OFA_CANDIDATES = $(OFA_DIR)/$(OFA_ARCH)/$(KERNELRELEASE) $(OFA_DIR)/$(KERNELRELEASE) $(OFA_DIR)/default /var/lib/dkms/mlnx-ofed-kernel
3545
MLNX_OFED_KERNEL := $(shell for d in $(OFA_CANDIDATES); do \
3646
if [ -d "$$d" ]; then \
3747
echo "$$d"; \

0 commit comments

Comments
 (0)