Skip to content

Commit 8ec351a

Browse files
committed
570.144
1 parent e8113f6 commit 8ec351a

Some content is hidden

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

51 files changed

+52502
-49819
lines changed

README.md

Lines changed: 3 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.133.20.
4+
version 570.144.
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.133.20 driver release. This can be achieved by installing
20+
570.144 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.133.20/README/kernel_open.html
188+
https://us.download.nvidia.com/XFree86/Linux-x86_64/570.144/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.

kernel-open/Kbuild

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ EXTRA_CFLAGS += -I$(src)/common/inc
8686
EXTRA_CFLAGS += -I$(src)
8787
EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args
8888
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM
89-
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"570.133.20\"
89+
EXTRA_CFLAGS += -DNV_VERSION_STRING=\"570.144\"
9090

9191
ifneq ($(SYSSRCHOST1X),)
9292
EXTRA_CFLAGS += -I$(SYSSRCHOST1X)

kernel-open/conftest.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7604,6 +7604,33 @@ compile_test() {
76047604
compile_check_conftest "$CODE" "NV_DRM_DRIVER_HAS_DATE" "" "types"
76057605
;;
76067606

7607+
drm_connector_helper_funcs_mode_valid_has_const_mode_arg)
7608+
#
7609+
# Determine if the 'mode' pointer argument is const in
7610+
# drm_connector_helper_funcs::mode_valid.
7611+
#
7612+
# The 'mode' pointer argument in
7613+
# drm_connector_helper_funcs::mode_valid was made const by commit
7614+
# 26d6fd81916e ("drm/connector: make mode_valid take a const struct
7615+
# drm_display_mode") in linux-next, expected in v6.15.
7616+
#
7617+
CODE="
7618+
#if defined(NV_DRM_DRM_ATOMIC_HELPER_H_PRESENT)
7619+
#include <drm/drm_atomic_helper.h>
7620+
#endif
7621+
7622+
static int conftest_drm_connector_mode_valid(struct drm_connector *connector,
7623+
const struct drm_display_mode *mode) {
7624+
return 0;
7625+
}
7626+
7627+
const struct drm_connector_helper_funcs conftest_drm_connector_helper_funcs = {
7628+
.mode_valid = conftest_drm_connector_mode_valid,
7629+
};"
7630+
7631+
compile_check_conftest "$CODE" "NV_DRM_CONNECTOR_HELPER_FUNCS_MODE_VALID_HAS_CONST_MODE_ARG" "" "types"
7632+
;;
7633+
76077634
# When adding a new conftest entry, please use the correct format for
76087635
# specifying the relevant upstream Linux kernel commit. Please
76097636
# avoid specifying -rc kernels, and only use SHAs that actually exist

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,11 @@ static int nv_drm_connector_get_modes(struct drm_connector *connector)
314314
}
315315

316316
static int nv_drm_connector_mode_valid(struct drm_connector *connector,
317+
#if defined(NV_DRM_CONNECTOR_HELPER_FUNCS_MODE_VALID_HAS_CONST_MODE_ARG)
318+
const struct drm_display_mode *mode)
319+
#else
317320
struct drm_display_mode *mode)
321+
#endif
318322
{
319323
struct drm_device *dev = connector->dev;
320324
struct nv_drm_device *nv_dev = to_nv_device(dev);

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_gem_prime_mmap
145145
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_output_poll_changed
146146
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_date
147147
NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations_fop_unsigned_offset_present
148+
NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_helper_funcs_mode_valid_has_const_mode_arg

kernel-open/nvidia-uvm/uvm_conf_computing.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,12 @@ void uvm_conf_computing_disable_key_rotation(uvm_gpu_t *gpu)
708708

709709
bool uvm_conf_computing_is_key_rotation_enabled(uvm_gpu_t *gpu)
710710
{
711-
return gpu->channel_manager->conf_computing.key_rotation_enabled;
711+
UVM_ASSERT(gpu);
712+
713+
// If the channel_manager is not set, we're in channel manager destroy
714+
// path after the pointer was NULL-ed. Chances are that other key rotation
715+
// infrastructure is not available either. Disallow the key rotation.
716+
return gpu->channel_manager && gpu->channel_manager->conf_computing.key_rotation_enabled;
712717
}
713718

714719
bool uvm_conf_computing_is_key_rotation_enabled_in_pool(uvm_channel_pool_t *pool)

src/common/displayport/inc/dp_deviceimpl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ namespace DisplayPort
135135
bool multistream;
136136
bool videoSink, audioSink;
137137
bool plugged;
138-
138+
bool bApplyPclkWarBug4949066;
139139

140140
AuxRetry friendlyAux;
141141
bool payloadAllocated; // did the allocate payload go through?

src/common/displayport/inc/dp_evoadapter2x.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ namespace DisplayPort
9090
{
9191
DP2X_RESET_LINK_REASON reason;
9292
bool bForce;
93+
bool bSkipLt;
9394
} DP2XResetParam;
9495

9596
class EvoMainLink2x : public EvoMainLink
@@ -106,6 +107,7 @@ namespace DisplayPort
106107
bool bSupportUHBR2_50; // Support UHBR2.5 for internal testing.
107108
bool bSupportUHBR2_70; // Support UHBR2.7 for internal testing.
108109
bool bSupportUHBR5_00; // Support UHBR5.0 for internal testing.
110+
bool bEnable5147205Fix; // Enable 5147205 fix.
109111

110112
bool bConnectorIsUSBTypeC;
111113

src/common/displayport/inc/dp_regkeydatabase.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
#define NV_DP_REGKEY_SKIP_ZERO_OUI_CACHE "DP_SKIP_ZERO_OUI_CACHE"
9898

9999
#define NV_DP_REGKEY_DISABLE_FIX_FOR_5019537 "DP_DISABLE_5019537_FIX"
100+
#define NV_DP_REGKEY_ENABLE_FIX_FOR_5147205 "DP_ENABLE_5147205_FIX"
100101

101102
// Bug 5088957 : Force head shutdown in DpLib
102103
#define NV_DP_REGKEY_FORCE_HEAD_SHUTDOWN "DP_WAR_5088957"
@@ -143,6 +144,7 @@ struct DP_REGKEY_DATABASE
143144
bool bDownspreadDisabled;
144145
bool bSkipZeroOuiCache;
145146
bool bDisable5019537Fix;
147+
bool bEnable5147205Fix;
146148
bool bForceHeadShutdown;
147149
bool bEnableLowerBppCheckForDsc;
148150
};

src/common/displayport/src/dp_connectorimpl.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,13 +518,19 @@ void ConnectorImpl::processNewDevice(const DiscoveryManager::Device & device,
518518
newDev->dpcdRevisionMinor = device.dpcdRevisionMinor;
519519
newDev->complianceDeviceEdidReadTest = isCompliance;
520520
newDev->maxTmdsClkRate = maxTmdsClkRate;
521+
newDev->bApplyPclkWarBug4949066 = false;
521522

522523
Address::NvU32Buffer addrBuffer;
523524
dpMemZero(addrBuffer, sizeof(addrBuffer));
524525
newDev->address.toNvU32Buffer(addrBuffer);
525526
NV_DPTRACE_INFO(NEW_SINK_DETECTED, newDev->address.size(), addrBuffer[0], addrBuffer[1], addrBuffer[2], addrBuffer[3],
526527
newDev->multistream, newDev->rawEDID.getManufId(), newDev->rawEDID.getProductId());
527528

529+
if(newDev->rawEDID.getManufId() == 0x6D1E)
530+
{
531+
newDev->bApplyPclkWarBug4949066 = true;
532+
}
533+
528534
// Apply any DPCD overrides if required
529535
newDev->dpcdOverrides();
530536

0 commit comments

Comments
 (0)