Skip to content

Commit 4c29105

Browse files
committed
545.29.06
1 parent be3cd9a commit 4c29105

28 files changed

+2105
-531
lines changed

CHANGELOG.md

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

33
## Release 545 Entries
44

5+
### [545.29.06] 2023-11-22
6+
7+
#### Fixed
8+
9+
- The brightness control of NVIDIA seems to be broken, [#573](https://github.com/NVIDIA/open-gpu-kernel-modules/issues/573)
10+
511
### [545.29.02] 2023-10-31
612

713
### [545.23.06] 2023-10-17
@@ -16,6 +22,8 @@
1622

1723
## Release 535 Entries
1824

25+
### [535.129.03] 2023-10-31
26+
1927
### [535.113.01] 2023-09-21
2028

2129
#### Fixed
@@ -64,10 +72,14 @@
6472

6573
## Release 525 Entries
6674

75+
### [525.147.05] 2023-10-31
76+
6777
#### Fixed
6878

6979
- 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
7080

81+
### [525.125.06] 2023-06-26
82+
7183
### [525.116.04] 2023-05-09
7284

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

README.md

Lines changed: 5 additions & 5 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.29.02.
4+
version 545.29.06.
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.29.02 driver release. This can be achieved by installing
20+
545.29.06 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.29.02/README/kernel_open.html
191+
https://us.download.nvidia.com/XFree86/Linux-x86_64/545.29.06/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
@@ -750,8 +750,8 @@ Subsystem Device ID.
750750
| NVIDIA H100 PCIe | 2331 10DE 1626 |
751751
| NVIDIA H100 | 2339 10DE 17FC |
752752
| NVIDIA H800 NVL | 233A 10DE 183A |
753-
| GH200 120GB | 2342 10DE 16EB |
754-
| GH200 480GB | 2342 10DE 1809 |
753+
| NVIDIA GH200 120GB | 2342 10DE 16EB |
754+
| NVIDIA GH200 480GB | 2342 10DE 1809 |
755755
| NVIDIA GeForce RTX 3060 Ti | 2414 |
756756
| NVIDIA GeForce RTX 3080 Ti Laptop GPU | 2420 |
757757
| 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.29.02\"
75+
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"545.29.06\"
7676

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

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,23 @@ static inline int nvkms_read_trylock_pm_lock(void)
218218

219219
static inline void nvkms_read_lock_pm_lock(void)
220220
{
221-
while (!down_read_trylock(&nvkms_pm_lock)) {
222-
try_to_freeze();
223-
cond_resched();
221+
if ((current->flags & PF_NOFREEZE)) {
222+
/*
223+
* Non-freezable tasks (i.e. kthreads in this case) don't have to worry
224+
* about being frozen during system suspend, but do need to block so
225+
* that the CPU can go idle during s2idle. Do a normal uninterruptible
226+
* blocking wait for the PM lock.
227+
*/
228+
down_read(&nvkms_pm_lock);
229+
} else {
230+
/*
231+
* For freezable tasks, make sure we give the kernel an opportunity to
232+
* freeze if taking the PM lock fails.
233+
*/
234+
while (!down_read_trylock(&nvkms_pm_lock)) {
235+
try_to_freeze();
236+
cond_resched();
237+
}
224238
}
225239
}
226240

src/common/inc/nvBldVer.h

Lines changed: 8 additions & 8 deletions
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/r545/r545_96-120"
47-
#define NV_BUILD_CHANGELIST_NUM (33457372)
46+
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r545/r545_96-124"
47+
#define NV_BUILD_CHANGELIST_NUM (33538619)
4848
#define NV_BUILD_TYPE "Official"
49-
#define NV_BUILD_NAME "rel/gpu_drv/r545/r545_96-120"
50-
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33457372)
49+
#define NV_BUILD_NAME "rel/gpu_drv/r545/r545_96-124"
50+
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33538619)
5151

5252
#else /* Windows builds */
53-
#define NV_BUILD_BRANCH_VERSION "r545_96-2"
54-
#define NV_BUILD_CHANGELIST_NUM (33457372)
53+
#define NV_BUILD_BRANCH_VERSION "r545_96-8"
54+
#define NV_BUILD_CHANGELIST_NUM (33517029)
5555
#define NV_BUILD_TYPE "Official"
56-
#define NV_BUILD_NAME "546.01"
57-
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33457372)
56+
#define NV_BUILD_NAME "546.17"
57+
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (33517029)
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.29.02"
7+
#define NV_VERSION_STRING "545.29.06"
88

99
#else
1010

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

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,45 @@ typedef struct NV2080_CTRL_KGR_GET_CTX_BUFFER_PTES_PARAMS {
403403
NvBool bNoMorePages;
404404
} NV2080_CTRL_KGR_GET_CTX_BUFFER_PTES_PARAMS;
405405

406+
/*!
407+
* NV2080_CTRL_INTERNAL_MEMDESC_INFO
408+
*
409+
* A generic container structure representing a memory region to be used as a
410+
* component of other control call parameters.
411+
*
412+
*/
413+
typedef struct NV2080_CTRL_INTERNAL_MEMDESC_INFO {
414+
NV_DECLARE_ALIGNED(NvU64 base, 8);
415+
NV_DECLARE_ALIGNED(NvU64 size, 8);
416+
NV_DECLARE_ALIGNED(NvU64 alignment, 8);
417+
NvU32 addressSpace;
418+
NvU32 cpuCacheAttrib;
419+
} NV2080_CTRL_INTERNAL_MEMDESC_INFO;
420+
421+
/*
422+
* NV2080_CTRL_CMD_INTERNAL_FLCN_SET_VIDEO_EVENT_BUFFER_MEMORY
423+
*
424+
* Set memory for use by the video event buffer
425+
*
426+
* memDescInfo
427+
* Information to set up memory descriptor on GSP
428+
*
429+
* engDesc
430+
* Video engdesc to find correct engine
431+
*
432+
* bEngineFound
433+
* Bool for whether or not the engine is actually assigned to a video object
434+
*/
435+
#define NV2080_CTRL_CMD_INTERNAL_FLCN_SET_VIDEO_EVENT_BUFFER_MEMORY (0x20800a29) /* finn: Evaluated from "(FINN_NV20_SUBDEVICE_0_INTERNAL_INTERFACE_ID << 8) | NV2080_CTRL_INTERNAL_FLCN_SET_VIDEO_EVENT_BUFFER_MEMORY_PARAMS_MESSAGE_ID" */
436+
437+
#define NV2080_CTRL_INTERNAL_FLCN_SET_VIDEO_EVENT_BUFFER_MEMORY_PARAMS_MESSAGE_ID (0x29U)
438+
439+
typedef struct NV2080_CTRL_INTERNAL_FLCN_SET_VIDEO_EVENT_BUFFER_MEMORY_PARAMS {
440+
NV_DECLARE_ALIGNED(NV2080_CTRL_INTERNAL_MEMDESC_INFO memDescInfo, 8);
441+
NvU32 engDesc;
442+
NvBool bEngineFound;
443+
} NV2080_CTRL_INTERNAL_FLCN_SET_VIDEO_EVENT_BUFFER_MEMORY_PARAMS;
444+
406445
/*!
407446
* @ref NV0080_CTRL_CMD_GR_GET_INFO
408447
* @ref NV0080_CTRL_CMD_GR_GET_INFO_V2
@@ -1071,22 +1110,6 @@ typedef struct NV2080_CTRL_INTERNAL_STATIC_MIGMGR_GET_PARTITIONABLE_ENGINES_PARA
10711110
NV_DECLARE_ALIGNED(NvU64 engineMask, 8);
10721111
} NV2080_CTRL_INTERNAL_STATIC_MIGMGR_GET_PARTITIONABLE_ENGINES_PARAMS;
10731112

1074-
1075-
/*!
1076-
* NV2080_CTRL_INTERNAL_MEMDESC_INFO
1077-
*
1078-
* A generic container structure representing a memory region to be used as a
1079-
* component of other control call parameters.
1080-
*
1081-
*/
1082-
typedef struct NV2080_CTRL_INTERNAL_MEMDESC_INFO {
1083-
NV_DECLARE_ALIGNED(NvU64 base, 8);
1084-
NV_DECLARE_ALIGNED(NvU64 size, 8);
1085-
NV_DECLARE_ALIGNED(NvU64 alignment, 8);
1086-
NvU32 addressSpace;
1087-
NvU32 cpuCacheAttrib;
1088-
} NV2080_CTRL_INTERNAL_MEMDESC_INFO;
1089-
10901113
#define NV2080_CTRL_INTERNAL_FIFO_MAX_RUNLIST_BUFFERS 2
10911114
#define NV2080_CTRL_INTERNAL_FIFO_MAX_RUNLIST_ID 64
10921115
/*!

src/nvidia-modeset/src/nvkms-attributes.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ static NvBool DpySetBacklightBrightness(NVDpyEvoRec *pDpyEvo, NvS64 brightness)
6767
params.subDeviceInstance = pDispEvo->displayOwner;
6868
params.displayId = nvDpyEvoGetConnectorId(pDpyEvo);
6969
params.brightness = brightness;
70+
params.brightnessType = NV0073_CTRL_SPECIFIC_BACKLIGHT_BRIGHTNESS_TYPE_PERCENT100;
7071

7172
ret = nvRmApiControl(
7273
nvEvoGlobal.clientHandle,
@@ -97,6 +98,7 @@ static NvBool DpyGetBacklightBrightness(const NVDpyEvoRec *pDpyEvo,
9798

9899
params.subDeviceInstance = pDispEvo->displayOwner;
99100
params.displayId = nvDpyEvoGetConnectorId(pDpyEvo);
101+
params.brightnessType = NV0073_CTRL_SPECIFIC_BACKLIGHT_BRIGHTNESS_TYPE_PERCENT100;
100102

101103
ret = nvRmApiControl(
102104
nvEvoGlobal.clientHandle,

src/nvidia-modeset/src/nvkms-rm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5467,6 +5467,7 @@ void nvRmRegisterBacklight(NVDispEvoRec *pDispEvo)
54675467

54685468
params.subDeviceInstance = pDispEvo->displayOwner;
54695469
params.displayId = displayId;
5470+
params.brightnessType = NV0073_CTRL_SPECIFIC_BACKLIGHT_BRIGHTNESS_TYPE_PERCENT100;
54705471

54715472
status = nvRmApiControl(nvEvoGlobal.clientHandle,
54725473
pDevEvo->displayCommonHandle,

src/nvidia-modeset/src/nvkms.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6451,6 +6451,7 @@ NvBool nvKmsGetBacklight(NvU32 display_id, void *drv_priv, NvU32 *brightness)
64516451

64526452
params.subDeviceInstance = pDispEvo->displayOwner;
64536453
params.displayId = display_id;
6454+
params.brightnessType = NV0073_CTRL_SPECIFIC_BACKLIGHT_BRIGHTNESS_TYPE_PERCENT100;
64546455

64556456
status = nvRmApiControl(nvEvoGlobal.clientHandle,
64566457
pDevEvo->displayCommonHandle,
@@ -6474,6 +6475,7 @@ NvBool nvKmsSetBacklight(NvU32 display_id, void *drv_priv, NvU32 brightness)
64746475
params.subDeviceInstance = pDispEvo->displayOwner;
64756476
params.displayId = display_id;
64766477
params.brightness = brightness;
6478+
params.brightnessType = NV0073_CTRL_SPECIFIC_BACKLIGHT_BRIGHTNESS_TYPE_PERCENT100;
64776479

64786480
status = nvRmApiControl(nvEvoGlobal.clientHandle,
64796481
pDevEvo->displayCommonHandle,

0 commit comments

Comments
 (0)