mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-01 05:59:48 +00:00
575.64.03
This commit is contained in:
@@ -327,6 +327,9 @@ namespace DisplayPort
|
||||
//
|
||||
bool bForceHeadShutdownOnModeTransition;
|
||||
|
||||
// Set to true when we want to skip reset MST_EN before LT
|
||||
bool bSkipResetMSTMBeforeLt;
|
||||
|
||||
bool bReportDeviceLostBeforeNew;
|
||||
bool bDisableSSC;
|
||||
bool bEnableFastLT;
|
||||
|
||||
@@ -173,6 +173,7 @@ namespace DisplayPort
|
||||
bool bForceHeadShutdownOnModeTransition;
|
||||
bool bSkipCableIdCheck;
|
||||
bool bAllocateManualTimeslots;
|
||||
bool bSkipResetMSTMBeforeLt;
|
||||
}_WARFlags;
|
||||
|
||||
_WARFlags WARFlags;
|
||||
|
||||
@@ -2787,13 +2787,13 @@ bool ConnectorImpl::isHeadShutDownNeeded(Group * target, // Group
|
||||
// In case of mode transition (DSC <-> non-DSC), if the link config is same as previous mode, we need to shut down the head
|
||||
// since VBID[6] needs to be updated accordingly
|
||||
//
|
||||
if ((bForceHeadShutdownOnModeTransition &&
|
||||
if ((bForceHeadShutdownOnModeTransition &&
|
||||
((modesetInfo.bEnableDsc && targetImpl->lastModesetInfo.bEnableDsc) &&
|
||||
(modesetInfo.bitsPerComponent != targetImpl->lastModesetInfo.bitsPerComponent))) ||
|
||||
((lowestSelected.getTotalDataRate() == activeLinkConfig.getTotalDataRate()) &&
|
||||
(modesetInfo.bEnableDsc != targetImpl->lastModesetInfo.bEnableDsc)))
|
||||
((lowestSelected.getTotalDataRate() == activeLinkConfig.getTotalDataRate()) &&
|
||||
(modesetInfo.bEnableDsc != targetImpl->lastModesetInfo.bEnableDsc)))
|
||||
{
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
// For dual DP while changing link config, we need to shut
|
||||
@@ -5358,9 +5358,9 @@ bool ConnectorImpl::getValidLowestLinkConfig
|
||||
{
|
||||
//
|
||||
// If highest link rate is UHBR 128b132b and current selected config is 8b10b,
|
||||
// FEC should not be enabled if DSC is not enabled since
|
||||
// 1. This function will be called only for SST and that too when preferred
|
||||
// link config is not set.
|
||||
// FEC should not be enabled if DSC is not enabled since
|
||||
// 1. This function will be called only for SST and that too when preferred
|
||||
// link config is not set.
|
||||
// 2. for SST and in 8b10b mode, FEC is enabled only when DSC is enabled
|
||||
//
|
||||
selectedConfig.enableFEC(false);
|
||||
@@ -5655,8 +5655,9 @@ bool ConnectorImpl::validateLinkConfiguration(const LinkConfiguration & lConfig)
|
||||
bool ConnectorImpl::train(const LinkConfiguration & lConfig, bool force,
|
||||
LinkTrainingType trainType)
|
||||
{
|
||||
LinkTrainingType preferredTrainingType = trainType;
|
||||
bool result = true;
|
||||
LinkTrainingType preferredTrainingType = trainType;
|
||||
bool result = true;
|
||||
NvBool bSkipSettingStreamMode = false;
|
||||
|
||||
// Validate link config against caps
|
||||
if (!force && !validateLinkConfiguration(lConfig))
|
||||
@@ -5693,10 +5694,16 @@ bool ConnectorImpl::train(const LinkConfiguration & lConfig, bool force,
|
||||
}
|
||||
|
||||
//
|
||||
// Don't set the stream if we're shutting off the link
|
||||
// or forcing the config
|
||||
// Don't set the stream if we're:
|
||||
// - forcing the config
|
||||
// - Skipping LT and the flag to skip stream mode setting is true
|
||||
// - shutting off the link
|
||||
//
|
||||
if (!force && lConfig.lanes != 0)
|
||||
bSkipSettingStreamMode = force ||
|
||||
(bSkipLt && this->bSkipResetMSTMBeforeLt) ||
|
||||
(lConfig.lanes == 0);
|
||||
|
||||
if (!bSkipSettingStreamMode)
|
||||
{
|
||||
if (isLinkActive())
|
||||
{
|
||||
@@ -7009,6 +7016,8 @@ void ConnectorImpl::notifyLongPulseInternal(bool statusConnected)
|
||||
{
|
||||
bDelayAfterD3 = true;
|
||||
}
|
||||
// Do not reset MST_EN before LT for Sony SDM27Q10S in SST mode
|
||||
this->bSkipResetMSTMBeforeLt = tmpEdid.WARFlags.bSkipResetMSTMBeforeLt;
|
||||
|
||||
// Panels use Legacy address range for interrupt reporting
|
||||
if (tmpEdid.WARFlags.useLegacyAddress)
|
||||
@@ -8294,6 +8303,7 @@ void ConnectorImpl::configInit()
|
||||
bDP2XPreferNonDSCForLowPClk = false;
|
||||
bDisableDscMaxBppLimit = false;
|
||||
bForceHeadShutdownOnModeTransition = false;
|
||||
bSkipResetMSTMBeforeLt = false;
|
||||
}
|
||||
|
||||
bool ConnectorImpl::dpUpdateDscStream(Group *target, NvU32 dscBpp)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 1993-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -615,12 +615,13 @@ void Edid::applyEdidWorkArounds(NvU32 warFlag, const DpMonitorDenylistData *pDen
|
||||
this->WARFlags.bSkipCableIdCheck = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> Panel does not expose cable capability. Ignoring it. Bug 4968411");
|
||||
}
|
||||
else if(ProductID == 0x24b5 || ProductID == 0x32f2)
|
||||
else if(ProductID == 0x24b5 || ProductID == 0x32f2 || ProductID == 0x27BC)
|
||||
{
|
||||
//
|
||||
// Asus ROG PG248QP (0x24b5) Bug 5100062
|
||||
// Asus ROG PG32UCDM (0x32f2) Bug 5088957
|
||||
//
|
||||
// Asus ROG PG27AQN (0x27BC) Bug 5300665
|
||||
|
||||
this->WARFlags.bForceHeadShutdown = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> Force head shutdown.");
|
||||
}
|
||||
@@ -650,6 +651,14 @@ void Edid::applyEdidWorkArounds(NvU32 warFlag, const DpMonitorDenylistData *pDen
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> VRT monitor does not work with GB20x when downspread is enabled. Disabling downspread.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xD94D: // Sony
|
||||
if (ProductID == 0x07EE) // Sony SDM27Q10S
|
||||
{
|
||||
this->WARFlags.bSkipResetMSTMBeforeLt = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> Sony SDM27Q10S needs to skip reset MST_EN before LT");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -36,25 +36,25 @@
|
||||
// and then checked back in. You cannot make changes to these sections without
|
||||
// corresponding changes to the buildmeister script
|
||||
#ifndef NV_BUILD_BRANCH
|
||||
#define NV_BUILD_BRANCH r575_00
|
||||
#define NV_BUILD_BRANCH r576_76
|
||||
#endif
|
||||
#ifndef NV_PUBLIC_BRANCH
|
||||
#define NV_PUBLIC_BRANCH r575_00
|
||||
#define NV_PUBLIC_BRANCH r576_76
|
||||
#endif
|
||||
|
||||
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS)
|
||||
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r575/r575_00-212"
|
||||
#define NV_BUILD_CHANGELIST_NUM (36105353)
|
||||
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r575/r576_76-213"
|
||||
#define NV_BUILD_CHANGELIST_NUM (36163547)
|
||||
#define NV_BUILD_TYPE "Official"
|
||||
#define NV_BUILD_NAME "rel/gpu_drv/r575/r575_00-212"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (36105353)
|
||||
#define NV_BUILD_NAME "rel/gpu_drv/r575/r576_76-213"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (36163547)
|
||||
|
||||
#else /* Windows builds */
|
||||
#define NV_BUILD_BRANCH_VERSION "r575_00-160"
|
||||
#define NV_BUILD_CHANGELIST_NUM (36104828)
|
||||
#define NV_BUILD_BRANCH_VERSION "r576_76-5"
|
||||
#define NV_BUILD_CHANGELIST_NUM (36158686)
|
||||
#define NV_BUILD_TYPE "Official"
|
||||
#define NV_BUILD_NAME "576.76"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (36104828)
|
||||
#define NV_BUILD_NAME "576.88"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (36158686)
|
||||
#define NV_BUILD_BRANCH_BASE_VERSION R575
|
||||
#endif
|
||||
// End buildmeister python edited section
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || \
|
||||
(defined(RMCFG_FEATURE_PLATFORM_GSP) && RMCFG_FEATURE_PLATFORM_GSP == 1)
|
||||
|
||||
#define NV_VERSION_STRING "575.64"
|
||||
#define NV_VERSION_STRING "575.64.03"
|
||||
|
||||
#else
|
||||
|
||||
|
||||
Reference in New Issue
Block a user