Skip to content

Commit a0e46ca

Browse files
committed
525.116.03
1 parent ebcc665 commit a0e46ca

Some content is hidden

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

48 files changed

+460
-156
lines changed

CHANGELOG.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@
22

33
## Release 525 Entries
44

5+
### [525.105.17] 2023-03-30
6+
7+
### [525.89.02] 2023-02-08
8+
9+
### [525.85.12] 2023-01-30
10+
11+
### [525.85.05] 2023-01-19
12+
13+
#### Fixed
14+
15+
- Fix build problems with Clang 15.0, [#377](https://github.com/NVIDIA/open-gpu-kernel-modules/issues/377) by @ptr1337
16+
17+
### [525.78.01] 2023-01-05
18+
19+
### [525.60.13] 2022-12-05
20+
21+
### [525.60.11] 2022-11-28
22+
23+
#### Fixed
24+
25+
- Fixed nvenc compatibility with usermode clients [#104](https://github.com/NVIDIA/open-gpu-kernel-modules/issues/104)
26+
27+
### [525.53] 2022-11-10
28+
529
#### Changed
630

731
- GSP firmware is now distributed as multiple firmware files: this release has `gsp_tu10x.bin` and `gsp_ad10x.bin` replacing `gsp.bin` from previous releases.
@@ -10,7 +34,6 @@
1034

1135
#### Fixed
1236

13-
- Fix build problems with Clang 15.0, [#https://github.com/NVIDIA/open-gpu-kernel-modules/issues/377] by @ptr1337
1437
- Add support for IBT (indirect branch tracking) on supported platforms, [#256](https://github.com/NVIDIA/open-gpu-kernel-modules/issues/256) by @rnd-ash
1538
- Return EINVAL when [failing to] allocating memory, [#280](https://github.com/NVIDIA/open-gpu-kernel-modules/pull/280) by @YusufKhan-gamedev
1639
- Fix various typos in nvidia/src/kernel, [#16](https://github.com/NVIDIA/open-gpu-kernel-modules/pull/16) by @alexisgeoffrey

README.md

Lines changed: 13 additions & 4 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 525.105.17.
4+
version 525.116.03.
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-
525.105.17 driver release. This can be achieved by installing
20+
525.116.03 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 525.105.17 release,
170+
(see the table below). However, in the 525.116.03 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/525.105.17/README/kernel_open.html
178+
https://us.download.nvidia.com/XFree86/Linux-x86_64/525.116.03/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
@@ -754,6 +754,7 @@ Subsystem Device ID.
754754
| NVIDIA RTX A3000 12GB Laptop GPU | 24B9 |
755755
| NVIDIA RTX A4500 Laptop GPU | 24BA |
756756
| NVIDIA RTX A3000 12GB Laptop GPU | 24BB |
757+
| NVIDIA GeForce RTX 3060 | 24C7 |
757758
| NVIDIA GeForce RTX 3060 Ti | 24C9 |
758759
| NVIDIA GeForce RTX 3080 Laptop GPU | 24DC |
759760
| NVIDIA GeForce RTX 3070 Laptop GPU | 24DD |
@@ -799,6 +800,8 @@ Subsystem Device ID.
799800
| NVIDIA RTX A1000 Laptop GPU | 25B9 |
800801
| NVIDIA RTX A2000 8GB Laptop GPU | 25BA |
801802
| NVIDIA RTX A500 Laptop GPU | 25BB |
803+
| NVIDIA RTX A1000 6GB Laptop GPU | 25BC |
804+
| NVIDIA RTX A500 Laptop GPU | 25BD |
802805
| NVIDIA GeForce RTX 3050 Ti Laptop GPU | 25E0 |
803806
| NVIDIA GeForce RTX 3050 Laptop GPU | 25E2 |
804807
| NVIDIA GeForce RTX 3050 Laptop GPU | 25E5 |
@@ -816,19 +819,25 @@ Subsystem Device ID.
816819
| NVIDIA L40 | 26B5 10DE 17DA |
817820
| NVIDIA GeForce RTX 4080 | 2704 |
818821
| NVIDIA GeForce RTX 4090 Laptop GPU | 2717 |
822+
| NVIDIA RTX 5000 Ada Generation Laptop GPU | 2730 |
819823
| NVIDIA GeForce RTX 4090 Laptop GPU | 2757 |
820824
| NVIDIA GeForce RTX 4070 Ti | 2782 |
825+
| NVIDIA GeForce RTX 4070 | 2786 |
821826
| NVIDIA GeForce RTX 4080 Laptop GPU | 27A0 |
822827
| NVIDIA RTX 4000 SFF Ada Generation | 27B0 1028 16FA |
823828
| NVIDIA RTX 4000 SFF Ada Generation | 27B0 103C 16FA |
824829
| NVIDIA RTX 4000 SFF Ada Generation | 27B0 10DE 16FA |
825830
| NVIDIA RTX 4000 SFF Ada Generation | 27B0 17AA 16FA |
826831
| NVIDIA L4 | 27B8 10DE 16CA |
827832
| NVIDIA L4 | 27B8 10DE 16EE |
833+
| NVIDIA RTX 4000 Ada Generation Laptop GPU | 27BA |
834+
| NVIDIA RTX 3500 Ada Generation Laptop GPU | 27BB |
828835
| NVIDIA GeForce RTX 4080 Laptop GPU | 27E0 |
829836
| NVIDIA GeForce RTX 4070 Laptop GPU | 2820 |
837+
| NVIDIA RTX 3000 Ada Generation Laptop GPU | 2838 |
830838
| NVIDIA GeForce RTX 4070 Laptop GPU | 2860 |
831839
| NVIDIA GeForce RTX 4060 Laptop GPU | 28A0 |
832840
| NVIDIA GeForce RTX 4050 Laptop GPU | 28A1 |
841+
| NVIDIA RTX 2000 Ada Generation Laptop GPU | 28B8 |
833842
| NVIDIA GeForce RTX 4060 Laptop GPU | 28E0 |
834843
| NVIDIA GeForce RTX 4050 Laptop GPU | 28E1 |

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=\"525.105.17\"
75+
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"525.116.03\"
7676

7777
EXTRA_CFLAGS += -Wno-unused-function
7878

kernel-open/conftest.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,6 +942,23 @@ compile_test() {
942942
compile_check_conftest "$CODE" "NV_VFIO_MIGRATION_OPS_PRESENT" "" "types"
943943
;;
944944

945+
vfio_migration_ops_has_migration_get_data_size)
946+
#
947+
# Determine if vfio_migration_ops struct has .migration_get_data_size field.
948+
#
949+
# Added by commit in 4e016f969529f ("vfio: Add an option to get migration
950+
# data size") in v6.2 kernel.
951+
#
952+
CODE="
953+
#include <linux/pci.h>
954+
#include <linux/vfio.h>
955+
int conftest_mdev_vfio_migration_ops_has_migration_get_data_size(void) {
956+
return offsetof(struct vfio_migration_ops, migration_get_data_size);
957+
}"
958+
959+
compile_check_conftest "$CODE" "NV_VFIO_MIGRATION_OPS_HAS_MIGRATION_GET_DATA_SIZE" "" "types"
960+
;;
961+
945962
mdev_parent)
946963
#
947964
# Determine if the struct mdev_parent type is present.
@@ -5494,6 +5511,30 @@ compile_test() {
54945511
compile_check_conftest "$CODE" "NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS" "" "types"
54955512
;;
54965513

5514+
drm_driver_has_dumb_destroy)
5515+
#
5516+
# Determine if the 'drm_driver' structure has a 'dumb_destroy'
5517+
# function pointer.
5518+
#
5519+
# Removed by commit 96a7b60f6ddb2 ("drm: remove dumb_destroy
5520+
# callback") in v6.3 linux-next (2023-02-10).
5521+
#
5522+
CODE="
5523+
#if defined(NV_DRM_DRMP_H_PRESENT)
5524+
#include <drm/drmP.h>
5525+
#endif
5526+
5527+
#if defined(NV_DRM_DRM_DRV_H_PRESENT)
5528+
#include <drm/drm_drv.h>
5529+
#endif
5530+
5531+
int conftest_drm_driver_has_dumb_destroy(void) {
5532+
return offsetof(struct drm_driver, dumb_destroy);
5533+
}"
5534+
5535+
compile_check_conftest "$CODE" "NV_DRM_DRIVER_HAS_DUMB_DESTROY" "" "types"
5536+
;;
5537+
54975538
# When adding a new conftest entry, please use the correct format for
54985539
# specifying the relevant upstream Linux kernel commit.
54995540
#

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,9 @@ static void nv_drm_update_drm_driver_features(void)
921921

922922
nv_drm_driver.dumb_create = nv_drm_dumb_create;
923923
nv_drm_driver.dumb_map_offset = nv_drm_dumb_map_offset;
924+
#if defined(NV_DRM_DRIVER_HAS_DUMB_DESTROY)
924925
nv_drm_driver.dumb_destroy = nv_drm_dumb_destroy;
926+
#endif /* NV_DRM_DRIVER_HAS_DUMB_DESTROY */
925927
#endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
926928
}
927929

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,11 +583,13 @@ int nv_drm_dumb_map_offset(struct drm_file *file,
583583
return ret;
584584
}
585585

586+
#if defined(NV_DRM_DRIVER_HAS_DUMB_DESTROY)
586587
int nv_drm_dumb_destroy(struct drm_file *file,
587588
struct drm_device *dev,
588589
uint32_t handle)
589590
{
590591
return drm_gem_handle_delete(file, handle);
591592
}
593+
#endif /* NV_DRM_DRIVER_HAS_DUMB_DESTROY */
592594

593595
#endif

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,11 @@ int nv_drm_dumb_map_offset(struct drm_file *file,
9797
struct drm_device *dev, uint32_t handle,
9898
uint64_t *offset);
9999

100+
#if defined(NV_DRM_DRIVER_HAS_DUMB_DESTROY)
100101
int nv_drm_dumb_destroy(struct drm_file *file,
101102
struct drm_device *dev,
102103
uint32_t handle);
104+
#endif /* NV_DRM_DRIVER_HAS_DUMB_DESTROY */
103105

104106
struct drm_gem_object *nv_drm_gem_nvkms_prime_import(
105107
struct drm_device *dev,

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_reserve_fences
125125
NV_CONFTEST_TYPE_COMPILE_TESTS += reservation_object_reserve_shared_has_num_fences_arg
126126
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_has_override_edid
127127
NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags
128+
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_dumb_destroy

kernel-open/nvidia/nv-p2p.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,8 @@ static int nv_p2p_get_pages(
431431
goto failed;
432432
}
433433

434+
(*page_table)->gpu_uuid = gpu_uuid;
435+
434436
rc = nvidia_dev_get_uuid(gpu_uuid, sp);
435437
if (rc != 0)
436438
{
@@ -461,10 +463,11 @@ static int nv_p2p_get_pages(
461463
{
462464
goto failed;
463465
}
466+
467+
(*page_table)->gpu_uuid = gpu_uuid;
464468
}
465469

466470
bGetPages = NV_TRUE;
467-
(*page_table)->gpu_uuid = gpu_uuid;
468471

469472
status = os_alloc_mem((void *)&(*page_table)->pages,
470473
(entries * sizeof(page)));

src/common/displayport/inc/dp_connectorimpl.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,14 @@ namespace DisplayPort
335335
//
336336
bool bPowerDownPhyBeforeD3;
337337

338+
//
339+
// Reset the MSTM_CTRL registers on Synaptics branch device irrespective of
340+
// IRQ VECTOR register having stale message. Synaptics device needs to reset
341+
// the topology before issue of new LAM message if previous LAM was not finished
342+
// bug 3928070
343+
//
344+
bool bForceClearPendingMsg;
345+
338346
void sharedInit();
339347
ConnectorImpl(MainLink * main, AuxBus * auxBus, Timer * timer, Connector::EventSink * sink);
340348

0 commit comments

Comments
 (0)