mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-01-30 21:19:49 +00:00
575.57.08
This commit is contained in:
@@ -333,6 +333,9 @@ namespace DisplayPort
|
||||
virtual bool getDeviceSpecificData(NvU8 *oui, NvU8 *deviceIdString,
|
||||
NvU8 *hwRevision, NvU8 *swMajorRevision,
|
||||
NvU8 *swMinorRevision) = 0;
|
||||
virtual bool getParentSpecificData(NvU8 *oui, NvU8 *deviceIdString,
|
||||
NvU8 *hwRevision, NvU8 *swMajorRevision,
|
||||
NvU8 *swMinorRevision) = 0;
|
||||
|
||||
virtual bool setModeList(DisplayPort::DpModesetParams *pModeList, unsigned numModes) = 0;
|
||||
|
||||
|
||||
@@ -508,6 +508,9 @@ namespace DisplayPort
|
||||
virtual bool getDeviceSpecificData(NvU8 *oui, NvU8 *deviceIdString,
|
||||
NvU8 *hwRevision, NvU8 *swMajorRevision,
|
||||
NvU8 *swMinorRevision);
|
||||
virtual bool getParentSpecificData(NvU8 *oui, NvU8 *deviceIdString,
|
||||
NvU8 *hwRevision, NvU8 *swMajorRevision,
|
||||
NvU8 *swMinorRevision);
|
||||
|
||||
virtual bool setModeList(DisplayPort::DpModesetParams *pModeList, unsigned numModes);
|
||||
};
|
||||
|
||||
@@ -561,12 +561,22 @@ bool ConnectorImpl2x::compoundQueryAttachMSTGeneric(Group * target,
|
||||
tail->bandwidth.compound_query_state.totalTimeSlots)
|
||||
{
|
||||
compoundQueryResult = false;
|
||||
if(this->bEnableLowerBppCheckForDsc)
|
||||
{
|
||||
tail->bandwidth.compound_query_state.timeslots_used_by_query -= linkConfig->slotsForPBN(base_pbn);
|
||||
tail->bandwidth.compound_query_state.bandwidthAllocatedForIndex &= ~(1 << compoundQueryCount);
|
||||
}
|
||||
SET_DP_IMP_ERROR(pErrorCode, DP_IMP_ERROR_INSUFFICIENT_BANDWIDTH)
|
||||
}
|
||||
}
|
||||
tail = (DeviceImpl*)tail->getParent();
|
||||
}
|
||||
}
|
||||
// If the compoundQueryResult is false, we need to reset the compoundQueryLocalLinkPBN
|
||||
if (!compoundQueryResult && this->bEnableLowerBppCheckForDsc)
|
||||
{
|
||||
compoundQueryLocalLinkPBN -= slots_pbn;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1261,8 +1271,8 @@ void ConnectorImpl2x::notifyDetachBegin(Group *target)
|
||||
|
||||
Device *newDev = target->enumDevices(0);
|
||||
DeviceImpl *dev = (DeviceImpl *)newDev;
|
||||
GroupImpl *group = (GroupImpl*)target;
|
||||
|
||||
GroupImpl *group = (GroupImpl*)target;
|
||||
|
||||
if (dev != NULL && dev->bApplyPclkWarBug4949066 == true)
|
||||
{
|
||||
EvoInterface *provider = ((EvoMainLink *)main)->getProvider();
|
||||
@@ -1840,11 +1850,14 @@ void ConnectorImpl2x::handleEdidWARs(Edid & edid, DiscoveryManager::Device & dev
|
||||
if (edid.WARFlags.bDisableDscMaxBppLimit)
|
||||
{
|
||||
bDisableDscMaxBppLimit = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (edid.WARFlags.bForceHeadShutdownOnModeTransition)
|
||||
{
|
||||
bForceHeadShutdownOnModeTransition = true;
|
||||
}
|
||||
if (edid.WARFlags.bDisableDownspread)
|
||||
{
|
||||
setDisableDownspread(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3232,6 +3232,19 @@ bool DeviceImpl::getDeviceSpecificData(NvU8 *oui, NvU8 *devIdString,
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DeviceImpl::getParentSpecificData(NvU8 *oui, NvU8 *devIdString,
|
||||
NvU8 *hwRevision, NvU8 *swMajorRevision,
|
||||
NvU8 *swMinorRevision)
|
||||
{
|
||||
if (this->parent == NULL)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return this->parent->getDeviceSpecificData(oui, devIdString, hwRevision,
|
||||
swMajorRevision, swMinorRevision);
|
||||
}
|
||||
|
||||
bool DeviceImpl::setModeList(DisplayPort::DpModesetParams *modeList, unsigned numModes)
|
||||
{
|
||||
// Create a dummy group for compoundQuery
|
||||
|
||||
@@ -600,18 +600,18 @@ void Edid::applyEdidWorkArounds(NvU32 warFlag, const DpMonitorDenylistData *pDen
|
||||
{
|
||||
this->WARFlags.bDisableDscMaxBppLimit = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> Disable DSC max BPP limit of 16 for DSC.");
|
||||
}
|
||||
else if (ProductID == 0x5CA7)
|
||||
}
|
||||
else if (ProductID == 0x5CA7 || ProductID == 0x9E9D || ProductID == 0x9EA0 || ProductID == 0x9EA5 || ProductID == 0x5CB7 ||
|
||||
ProductID == 0x9EA8 || ProductID == 0x9EAF || ProductID == 0x7846 || ProductID == 0x7849 || ProductID == 0x5CB5)
|
||||
{
|
||||
this->WARFlags.bForceHeadShutdownOnModeTransition = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> Force head shutdown on Mode transition.");
|
||||
}
|
||||
break;
|
||||
// Gigabyte
|
||||
case 0x541C:
|
||||
if (ProductID == 0x3215)
|
||||
case 0xB306:
|
||||
if (ProductID == 0x3228)
|
||||
{
|
||||
// Gigabyte AORUS FO32U2P does not set DPCD 0x2217 to reflect correct CableID.
|
||||
// ASUS PG32UQXR does not set DPCD 0x2217 to reflect correct CableID.
|
||||
this->WARFlags.bSkipCableIdCheck = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> Panel does not expose cable capability. Ignoring it. Bug 4968411");
|
||||
}
|
||||
@@ -643,7 +643,13 @@ void Edid::applyEdidWorkArounds(NvU32 warFlag, const DpMonitorDenylistData *pDen
|
||||
this->WARFlags.bDisableDownspread = true;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x545A: // VRT Varjo XR3
|
||||
if (ProductID == 0x5841 || ProductID == 0x5842 || ProductID == 0x5843)
|
||||
{
|
||||
this->WARFlags.bDisableDownspread = true;
|
||||
DP_PRINTF(DP_NOTICE, "DP-WAR> VRT monitor does not work with GB20x when downspread is enabled. Disabling downspread.");
|
||||
}
|
||||
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_92
|
||||
#define NV_BUILD_BRANCH r576_41
|
||||
#endif
|
||||
#ifndef NV_PUBLIC_BRANCH
|
||||
#define NV_PUBLIC_BRANCH r575_92
|
||||
#define NV_PUBLIC_BRANCH r576_41
|
||||
#endif
|
||||
|
||||
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS)
|
||||
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r575/r575_92-148"
|
||||
#define NV_BUILD_CHANGELIST_NUM (35843743)
|
||||
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r575/r576_41-183"
|
||||
#define NV_BUILD_CHANGELIST_NUM (36029171)
|
||||
#define NV_BUILD_TYPE "Official"
|
||||
#define NV_BUILD_NAME "rel/gpu_drv/r575/r575_92-148"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (35843743)
|
||||
#define NV_BUILD_NAME "rel/gpu_drv/r575/r576_41-183"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (36029171)
|
||||
|
||||
#else /* Windows builds */
|
||||
#define NV_BUILD_BRANCH_VERSION "r575_92-7"
|
||||
#define NV_BUILD_CHANGELIST_NUM (35824637)
|
||||
#define NV_BUILD_BRANCH_VERSION "r576_41-8"
|
||||
#define NV_BUILD_CHANGELIST_NUM (36020778)
|
||||
#define NV_BUILD_TYPE "Official"
|
||||
#define NV_BUILD_NAME "576.02"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (35824637)
|
||||
#define NV_BUILD_NAME "576.60"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (36020778)
|
||||
#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.51.03"
|
||||
#define NV_VERSION_STRING "575.57.08"
|
||||
|
||||
#else
|
||||
|
||||
|
||||
@@ -941,7 +941,6 @@ cleanup:
|
||||
if (tempStatus != NVL_SUCCESS)
|
||||
{
|
||||
NVSWITCH_PRINT(device, ERROR, "Link %d Inband Buffer transfer for RX_BUFFER_CLEAR\n", linkId);
|
||||
return;
|
||||
}
|
||||
if (device->link[linkId].inbandData.message != NULL)
|
||||
{
|
||||
|
||||
@@ -2139,6 +2139,16 @@ typedef struct NV0000_CTRL_CMD_SYSTEM_GET_SYSTEM_POWER_LIMIT {
|
||||
NvU32 shortTimescaleBatteryCurrentLimitmA;
|
||||
} NV0000_CTRL_CMD_SYSTEM_GET_SYSTEM_POWER_LIMIT;
|
||||
|
||||
/*!
|
||||
* States for the Battery CPU TDP Control ability.
|
||||
* _CPU_TDP_CONTROL_TYPE_DC_ONLY :==> Legacy setting for DC only CPU TDP Control
|
||||
* _CPU_TDP_CONTROL_TYPE_DC_AC :==> AC and DC both support CPU TDP Control
|
||||
*/
|
||||
typedef enum QBOOST_CPU_TDP_CONTROL_TYPE {
|
||||
QBOOST_CPU_TDP_CONTROL_TYPE_DC_ONLY = 0,
|
||||
QBOOST_CPU_TDP_CONTROL_TYPE_DC_AC = 1,
|
||||
} QBOOST_CPU_TDP_CONTROL_TYPE;
|
||||
|
||||
#define NV0000_CTRL_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS_MESSAGE_ID (0x3BU)
|
||||
|
||||
typedef struct NV0000_CTRL_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS {
|
||||
@@ -2277,6 +2287,9 @@ typedef struct NV0000_CTRL_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS {
|
||||
|
||||
/* CPU TDP Limit to be set (milliwatts) */
|
||||
NvU32 cpuTdpmw;
|
||||
|
||||
/* CPU TDP Control Support */
|
||||
QBOOST_CPU_TDP_CONTROL_TYPE cpuTdpControlType;
|
||||
} NV0000_CTRL_SYSTEM_NVPCF_GET_POWER_MODE_INFO_PARAMS;
|
||||
|
||||
/* Define the filter types */
|
||||
|
||||
@@ -1694,3 +1694,5 @@ typedef struct NV2080_CTRL_CMD_BUS_SET_C2C_LPWR_STATE_VOTE_PARAMS {
|
||||
NvU32 c2cLpwrStateId;
|
||||
NvBool bAllowed;
|
||||
} NV2080_CTRL_CMD_BUS_SET_C2C_LPWR_STATE_VOTE_PARAMS;
|
||||
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ extern "C" {
|
||||
#define NVOS_STATUS_ERROR_ILLEGAL_ACTION NV_ERR_ILLEGAL_ACTION
|
||||
#define NVOS_STATUS_ERROR_IN_USE NV_ERR_STATE_IN_USE
|
||||
#define NVOS_STATUS_ERROR_INSUFFICIENT_RESOURCES NV_ERR_INSUFFICIENT_RESOURCES
|
||||
#define NVOS_STATUS_ERROR_INSUFFICIENT_ZBC_ENTRY NV_ERR_INSUFFICIENT_ZBC_ENTRY
|
||||
#define NVOS_STATUS_ERROR_INVALID_ACCESS_TYPE NV_ERR_INVALID_ACCESS_TYPE
|
||||
#define NVOS_STATUS_ERROR_INVALID_ARGUMENT NV_ERR_INVALID_ARGUMENT
|
||||
#define NVOS_STATUS_ERROR_INVALID_BASE NV_ERR_INVALID_BASE
|
||||
|
||||
@@ -569,7 +569,7 @@ static int libos_printf_a(
|
||||
// Prefix every line with T:nnnn GPUn Ucode-task: filename(lineNumber):
|
||||
len = snprintf(
|
||||
logDecode->curLineBufPtr, remain,
|
||||
"T:%llu ", pRec->timeStamp);
|
||||
"T:%llu ", pRec->timeStamp + pRec->log->localToGlobalTimerDelta);
|
||||
if (len < 0)
|
||||
{
|
||||
return -1;
|
||||
@@ -590,7 +590,7 @@ static int libos_printf_a(
|
||||
{
|
||||
struct tm tmStruct;
|
||||
// Libos timestamp is a PTIMER value, which is UNIX time in ns
|
||||
time_t timeSec = pRec->timeStamp / 1000000000;
|
||||
time_t timeSec = (pRec->timeStamp + pRec->log->localToGlobalTimerDelta) / 1000000000;
|
||||
#if NVOS_IS_WINDOWS
|
||||
// "The implementation of localtime_s in Microsoft CRT is incompatible with the
|
||||
// C standard since it has reversed parameter order and returns errno_t."
|
||||
@@ -1324,7 +1324,6 @@ static void libosExtractLogs_decode(LIBOS_LOG_DECODE *logDecode)
|
||||
recSize * sizeof(NvU64));
|
||||
|
||||
pPrevRec = (LIBOS_LOG_DECODE_RECORD *)&logDecode->scratchBuffer[dst];
|
||||
pPrevRec->timeStamp += pLog->localToGlobalTimerDelta;
|
||||
}
|
||||
|
||||
// Read in the next record from the log we just copied.
|
||||
|
||||
Reference in New Issue
Block a user