Skip to content

Commit be3cd9a

Browse files
committed
545.29.02
1 parent a2f89d6 commit be3cd9a

File tree

28 files changed

+870
-629
lines changed

28 files changed

+870
-629
lines changed

CHANGELOG.md

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

33
## Release 545 Entries
44

5+
### [545.29.02] 2023-10-31
6+
57
### [545.23.06] 2023-10-17
68

79
#### Fixed
@@ -62,6 +64,10 @@
6264

6365
## Release 525 Entries
6466

67+
#### Fixed
68+
69+
- Fix nvidia_p2p_get_pages(): Fix double-free in register-callback error path, [#557](https://github.com/NVIDIA/open-gpu-kernel-modules/pull/557) by @BrendanCunningham
70+
6571
### [525.116.04] 2023-05-09
6672

6773
### [525.116.03] 2023-04-25

README.md

Lines changed: 7 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 545.23.06.
4+
version 545.29.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-
545.23.06 driver release. This can be achieved by installing
20+
545.29.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

@@ -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/545.23.06/README/kernel_open.html
191+
https://us.download.nvidia.com/XFree86/Linux-x86_64/545.29.02/README/kernel_open.html
192192

193193
In the below table, if three IDs are listed, the first is the PCI Device
194194
ID, the second is the PCI Subsystem Vendor ID, and the third is the PCI
@@ -658,13 +658,15 @@ Subsystem Device ID.
658658
| NVIDIA A100-SXM4-80GB | 20B2 10DE 147F |
659659
| NVIDIA A100-SXM4-80GB | 20B2 10DE 1622 |
660660
| NVIDIA A100-SXM4-80GB | 20B2 10DE 1623 |
661+
| NVIDIA PG509-210 | 20B2 10DE 1625 |
661662
| NVIDIA A100-SXM-64GB | 20B3 10DE 14A7 |
662663
| NVIDIA A100-SXM-64GB | 20B3 10DE 14A8 |
663664
| NVIDIA A100 80GB PCIe | 20B5 10DE 1533 |
664665
| NVIDIA A100 80GB PCIe | 20B5 10DE 1642 |
665666
| NVIDIA PG506-232 | 20B6 10DE 1492 |
666667
| NVIDIA A30 | 20B7 10DE 1532 |
667668
| NVIDIA A30 | 20B7 10DE 1804 |
669+
| NVIDIA A30 | 20B7 10DE 1852 |
668670
| NVIDIA A800-SXM4-40GB | 20BD 10DE 17F4 |
669671
| NVIDIA A100-PCIE-40GB | 20F1 10DE 145F |
670672
| NVIDIA A800-SXM4-80GB | 20F3 10DE 179B |
@@ -748,6 +750,8 @@ Subsystem Device ID.
748750
| NVIDIA H100 PCIe | 2331 10DE 1626 |
749751
| NVIDIA H100 | 2339 10DE 17FC |
750752
| NVIDIA H800 NVL | 233A 10DE 183A |
753+
| GH200 120GB | 2342 10DE 16EB |
754+
| GH200 480GB | 2342 10DE 1809 |
751755
| NVIDIA GeForce RTX 3060 Ti | 2414 |
752756
| NVIDIA GeForce RTX 3080 Ti Laptop GPU | 2420 |
753757
| NVIDIA RTX A5500 Laptop GPU | 2438 |

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 $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-error -Wno-format-extra-args
7474
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM
75-
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"545.23.06\"
75+
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"545.29.02\"
7676

7777
ifneq ($(SYSSRCHOST1X),)
7878
EXTRA_CFLAGS += -I$(SYSSRCHOST1X)

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

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -729,22 +729,28 @@ static int nv_drm_get_dev_info_ioctl(struct drm_device *dev,
729729

730730
params->gpu_id = nv_dev->gpu_info.gpu_id;
731731
params->primary_index = dev->primary->index;
732+
params->supports_alloc = false;
732733
params->generic_page_kind = 0;
733734
params->page_kind_generation = 0;
734735
params->sector_layout = 0;
735736
params->supports_sync_fd = false;
736737
params->supports_semsurf = false;
737738

738739
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
739-
params->generic_page_kind = nv_dev->genericPageKind;
740-
params->page_kind_generation = nv_dev->pageKindGeneration;
741-
params->sector_layout = nv_dev->sectorLayout;
742-
/* Semaphore surfaces are only supported if the modeset = 1 parameter is set */
743-
if ((nv_dev->pDevice) != NULL && (nv_dev->semsurf_stride != 0)) {
744-
params->supports_semsurf = true;
740+
/* Memory allocation and semaphore surfaces are only supported
741+
* if the modeset = 1 parameter is set */
742+
if (nv_dev->pDevice != NULL) {
743+
params->supports_alloc = true;
744+
params->generic_page_kind = nv_dev->genericPageKind;
745+
params->page_kind_generation = nv_dev->pageKindGeneration;
746+
params->sector_layout = nv_dev->sectorLayout;
747+
748+
if (nv_dev->semsurf_stride != 0) {
749+
params->supports_semsurf = true;
745750
#if defined(NV_SYNC_FILE_GET_FENCE_PRESENT)
746-
params->supports_sync_fd = true;
751+
params->supports_sync_fd = true;
747752
#endif /* defined(NV_SYNC_FILE_GET_FENCE_PRESENT) */
753+
}
748754
}
749755
#endif /* defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) */
750756

kernel-open/nvidia-drm/nvidia-drm-ioctl.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,10 @@ struct drm_nvidia_get_dev_info_params {
178178
uint32_t gpu_id; /* OUT */
179179
uint32_t primary_index; /* OUT; the "card%d" value */
180180

181-
/* See DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D definitions of these */
181+
uint32_t supports_alloc; /* OUT */
182+
/* The generic_page_kind, page_kind_generation, and sector_layout
183+
* fields are only valid if supports_alloc is true.
184+
* See DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D definitions of these. */
182185
uint32_t generic_page_kind; /* OUT */
183186
uint32_t page_kind_generation; /* OUT */
184187
uint32_t sector_layout; /* OUT */

kernel-open/nvidia/nv-msi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ NvS32 NV_API_CALL nv_request_msix_irq(nv_linux_state_t *nvl)
156156
{
157157
for( j = 0; j < i; j++)
158158
{
159-
free_irq(nvl->msix_entries[i].vector, (void *)nvl);
159+
free_irq(nvl->msix_entries[j].vector, (void *)nvl);
160160
}
161161
break;
162162
}

kernel-open/nvidia/nv-p2p.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,8 +506,13 @@ static int nv_p2p_get_pages(
506506
(*page_table)->page_size = page_size_index;
507507

508508
os_free_mem(physical_addresses);
509+
physical_addresses = NULL;
510+
509511
os_free_mem(wreqmb_h);
512+
wreqmb_h = NULL;
513+
510514
os_free_mem(rreqmb_h);
515+
rreqmb_h = NULL;
511516

512517
if (free_callback != NULL)
513518
{

src/common/displayport/src/dp_deviceimpl.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2068,11 +2068,13 @@ void DeviceImpl::setDscDecompressionDevice(bool bDscCapBasedOnParent)
20682068
}
20692069
}
20702070
}
2071-
else if (this->parent && this->parent->isDSCDecompressionSupported())
2071+
else if (this->parent && this->parent->isDSCDecompressionSupported() &&
2072+
!(this->isLogical()))
20722073
{
20732074
//
20742075
// This condition takes care of sink devices not capable of DSC
2075-
// but parent is capable of DSC decompression.
2076+
// but parent is capable of DSC decompression. We need to skip this
2077+
// if sink is at logical port.
20762078
//
20772079
this->bDSCPossible = true;
20782080
this->devDoingDscDecompression = this->parent;

src/common/inc/nvBldVer.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,25 @@
3636
// and then checked back in. You cannot make changes to these sections without
3737
// corresponding changes to the buildmeister script
3838
#ifndef NV_BUILD_BRANCH
39-
#define NV_BUILD_BRANCH r545_74
39+
#define NV_BUILD_BRANCH r545_96
4040
#endif
4141
#ifndef NV_PUBLIC_BRANCH
42-
#define NV_PUBLIC_BRANCH r545_74
42+
#define NV_PUBLIC_BRANCH r545_96
4343
#endif
4444

4545
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS)
46-
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r545/r545_74-96"
47-
#define NV_BUILD_CHANGELIST_NUM (33409679)
46+
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r545/r545_96-120"
47+
#define NV_BUILD_CHANGELIST_NUM (33457372)
4848
#define NV_BUILD_TYPE "Official"
49-
#define NV_BUILD_NAME "rel/gpu_drv/r545/r545_74-96"
50-
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33409679)
49+
#define NV_BUILD_NAME "rel/gpu_drv/r545/r545_96-120"
50+
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33457372)
5151

5252
#else /* Windows builds */
53-
#define NV_BUILD_BRANCH_VERSION "r545_74-8"
54-
#define NV_BUILD_CHANGELIST_NUM (33409679)
53+
#define NV_BUILD_BRANCH_VERSION "r545_96-2"
54+
#define NV_BUILD_CHANGELIST_NUM (33457372)
5555
#define NV_BUILD_TYPE "Official"
56-
#define NV_BUILD_NAME "545.87"
57-
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33409679)
56+
#define NV_BUILD_NAME "546.01"
57+
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33457372)
5858
#define NV_BUILD_BRANCH_BASE_VERSION R545
5959
#endif
6060
// End buildmeister python edited section

src/common/inc/nvUnixVersion.h

Lines changed: 1 addition & 1 deletion
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 "545.23.06"
7+
#define NV_VERSION_STRING "545.29.02"
88

99
#else
1010

0 commit comments

Comments
 (0)