mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-01 14:09:47 +00:00
committed by
Gaurav Juvekar
parent
3084c04453
commit
74ee05e160
@@ -246,7 +246,7 @@ namespace DisplayPort
|
||||
virtual bool getOuiSupported() = 0;
|
||||
virtual AuxRetry::status setOuiSource(unsigned ouiId, const char * model, size_t modelNameLength, NvU8 chipRevision) = 0;
|
||||
virtual bool getOuiSource(unsigned &ouiId, char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision) = 0;
|
||||
virtual bool getOuiSink(unsigned &ouiId, char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision) = 0;
|
||||
virtual bool getOuiSink(unsigned &ouiId, unsigned char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision) = 0;
|
||||
};
|
||||
|
||||
class HDCP
|
||||
@@ -898,7 +898,7 @@ namespace DisplayPort
|
||||
size_t modelNameLength, NvU8 chipRevision);
|
||||
virtual bool getOuiSource(unsigned &ouiId, char * modelName,
|
||||
size_t modelNameBufferSize, NvU8 & chipRevision);
|
||||
virtual bool getOuiSink(unsigned &ouiId, char * modelName,
|
||||
virtual bool getOuiSink(unsigned &ouiId, unsigned char * modelName,
|
||||
size_t modelNameBufferSize, NvU8 & chipRevision);
|
||||
|
||||
// DPCD offset 21h
|
||||
|
||||
@@ -701,7 +701,7 @@ namespace DisplayPort
|
||||
|
||||
virtual bool getHDCPAbortCodesDP12(NvU32 &hdcpAbortCodesDP12) = 0;
|
||||
|
||||
virtual bool getOuiSink(unsigned &ouiId, char * modelName,
|
||||
virtual bool getOuiSink(unsigned &ouiId, unsigned char * modelName,
|
||||
size_t modelNameBufferSize, NvU8 & chipRevision) = 0;
|
||||
|
||||
virtual bool getIgnoreSourceOuiHandshake() = 0;
|
||||
|
||||
@@ -105,9 +105,9 @@ namespace DisplayPort
|
||||
NvU8 cachedSourceChipRevision;
|
||||
bool bOuiCached;
|
||||
|
||||
unsigned ouiId; // Sink ouiId
|
||||
char modelName[NV_DPCD_SOURCE_DEV_ID_STRING__SIZE + 1]; // Device Model-name
|
||||
bool bIgnoreSrcOuiHandshake; // Skip writing source OUI
|
||||
unsigned ouiId; // Sink ouiId
|
||||
unsigned char modelName[NV_DPCD_SOURCE_DEV_ID_STRING__SIZE + 1]; // Device Model-name
|
||||
bool bIgnoreSrcOuiHandshake; // Skip writing source OUI
|
||||
|
||||
LinkPolicy linkPolicy;
|
||||
|
||||
@@ -316,6 +316,7 @@ namespace DisplayPort
|
||||
bool bDisableSSC;
|
||||
bool bEnableFastLT;
|
||||
NvU32 maxLinkRateFromRegkey;
|
||||
bool bFlushTimeslotWhenDirty;
|
||||
|
||||
//
|
||||
// Latency(ms) to apply between link-train and FEC enable for bug
|
||||
@@ -644,7 +645,7 @@ namespace DisplayPort
|
||||
void freeTimeslice(GroupImpl * targetGroup);
|
||||
void flushTimeslotsToHardware();
|
||||
bool getHDCPAbortCodesDP12(NvU32 &hdcpAbortCodesDP12);
|
||||
bool getOuiSink(unsigned &ouiId, char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision);
|
||||
bool getOuiSink(unsigned &ouiId, unsigned char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision);
|
||||
bool hdcpValidateKsv(const NvU8 *ksv, NvU32 Size);
|
||||
void cancelHdcpCallbacks();
|
||||
bool handleCPIRQ();
|
||||
|
||||
@@ -73,14 +73,14 @@
|
||||
//
|
||||
#define NV_DP_DSC_MST_CAP_BUG_3143315 "DP_DSC_MST_CAP_BUG_3143315"
|
||||
|
||||
//
|
||||
|
||||
// Bug 4388987 : This regkey will disable reading PCON caps for MST.
|
||||
//
|
||||
#define NV_DP_REGKEY_MST_PCON_CAPS_READ_DISABLED "DP_BUG_4388987_WAR"
|
||||
|
||||
//
|
||||
// Bug 4426624: Flush timeslot change to HW when dirty bit is set.
|
||||
#define NV_DP_REGKEY_FLUSH_TIMESLOT_INFO_WHEN_DIRTY "DP_BUG_4426624_WAR"
|
||||
|
||||
// Bug 4459839 : This regkey will enable DSC irrespective of LT status.
|
||||
//
|
||||
#define NV_DP_REGKEY_FORCE_DSC_ON_SINK "DP_FORCE_DSC_ON_SINK"
|
||||
#define NV_DP_REGKEY_ENABLE_SKIP_DPCD_READS_WAR "DP_BUG_4478047_WAR"
|
||||
#define NV_DP_REGKEY_DISABLE_TUNNEL_BW_ALLOCATION "DP_DISABLE_TUNNEL_BW_ALLOCATION"
|
||||
@@ -120,6 +120,7 @@ struct DP_REGKEY_DATABASE
|
||||
bool bMSTPCONCapsReadDisabled;
|
||||
bool bForceDscOnSink;
|
||||
bool bSkipFakeDeviceDpcdAccess;
|
||||
bool bFlushTimeslotWhenDirty;
|
||||
bool bForceDisableTunnelBwAllocation;
|
||||
};
|
||||
|
||||
|
||||
@@ -671,7 +671,7 @@ bool DPCDHALImpl::getOuiSource(unsigned &ouiId, char * modelName,
|
||||
bool DPCDHALImpl::getOuiSink
|
||||
(
|
||||
unsigned &ouiId,
|
||||
char * modelName,
|
||||
unsigned char * modelName,
|
||||
size_t modelNameBufferSize,
|
||||
NvU8 & chipRevision
|
||||
)
|
||||
@@ -712,7 +712,7 @@ bool DPCDHALImpl::getOuiSink
|
||||
// Next 6 bytes are Device Identification String, copy as much as we can (limited buffer case).
|
||||
unsigned int i;
|
||||
for (i = 0; i < modelNameBufferSize; i++)
|
||||
modelName[i] = ouiBuffer[3+i];
|
||||
modelName[i] = (unsigned char)ouiBuffer[3+i];
|
||||
|
||||
chipRevision = ouiBuffer[9];
|
||||
|
||||
|
||||
@@ -179,6 +179,7 @@ void ConnectorImpl::applyRegkeyOverrides(const DP_REGKEY_DATABASE& dpRegkeyDatab
|
||||
this->bReassessMaxLink = dpRegkeyDatabase.bReassessMaxLink;
|
||||
this->bForceDisableTunnelBwAllocation = dpRegkeyDatabase.bForceDisableTunnelBwAllocation;
|
||||
this->bSkipFakeDeviceDpcdAccess = dpRegkeyDatabase.bSkipFakeDeviceDpcdAccess;
|
||||
this->bFlushTimeslotWhenDirty = dpRegkeyDatabase.bFlushTimeslotWhenDirty;
|
||||
}
|
||||
|
||||
void ConnectorImpl::setPolicyModesetOrderMitigation(bool enabled)
|
||||
@@ -3689,7 +3690,7 @@ bool ConnectorImpl::assessPCONLinkCapability(PCONLinkControl *pConControl)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorImpl::getOuiSink(unsigned &ouiId, char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision)
|
||||
bool ConnectorImpl::getOuiSink(unsigned &ouiId, unsigned char * modelName, size_t modelNameBufferSize, NvU8 & chipRevision)
|
||||
{
|
||||
if (!previousPlugged || !hal->getOuiSupported())
|
||||
return false;
|
||||
@@ -5838,7 +5839,8 @@ void ConnectorImpl::beforeDeleteStream(GroupImpl * group, bool forFlushMode)
|
||||
}
|
||||
}
|
||||
|
||||
if (linkUseMultistream() && group && group->isHeadAttached() && group->timeslot.count)
|
||||
if (linkUseMultistream() && group && group->isHeadAttached() &&
|
||||
(group->timeslot.count || (this->bFlushTimeslotWhenDirty && group->timeslot.hardwareDirty)))
|
||||
{
|
||||
// Detach all the panels from payload
|
||||
for (Device * d = group->enumDevices(0); d; d = group->enumDevices(d))
|
||||
|
||||
@@ -97,6 +97,7 @@ const struct
|
||||
{NV_DP_REGKEY_MST_PCON_CAPS_READ_DISABLED, &dpRegkeyDatabase.bMSTPCONCapsReadDisabled, DP_REG_VAL_BOOL},
|
||||
{NV_DP_REGKEY_FORCE_DSC_ON_SINK, &dpRegkeyDatabase.bForceDscOnSink, DP_REG_VAL_BOOL},
|
||||
{NV_DP_REGKEY_ENABLE_SKIP_DPCD_READS_WAR, &dpRegkeyDatabase.bSkipFakeDeviceDpcdAccess, DP_REG_VAL_BOOL},
|
||||
{NV_DP_REGKEY_FLUSH_TIMESLOT_INFO_WHEN_DIRTY, &dpRegkeyDatabase.bFlushTimeslotWhenDirty, DP_REG_VAL_BOOL},
|
||||
{NV_DP_REGKEY_DISABLE_TUNNEL_BW_ALLOCATION, &dpRegkeyDatabase.bForceDisableTunnelBwAllocation, DP_REG_VAL_BOOL}
|
||||
};
|
||||
|
||||
|
||||
@@ -167,6 +167,16 @@ void GroupImpl::remove(Device * dev)
|
||||
|
||||
if (isHeadAttached())
|
||||
{
|
||||
/*
|
||||
* The device may become lost and free after removal from the active
|
||||
* group. Therefore, also remove the device from the
|
||||
* 'dscEnabledDevices' list and ensure that its dangling pointer is not
|
||||
* left behind.
|
||||
*/
|
||||
if (parent->dscEnabledDevices.contains(dev)) {
|
||||
parent->dscEnabledDevices.remove(dev);
|
||||
}
|
||||
|
||||
di->activeGroup = 0;
|
||||
}
|
||||
members.remove(di);
|
||||
|
||||
@@ -67,15 +67,16 @@ void ConnectorImpl::applyOuiWARs()
|
||||
// Synaptics
|
||||
case 0x24CC90:
|
||||
if ((modelName[0] == 'S') && (modelName[1] == 'Y') && (modelName[2] == 'N') &&
|
||||
(modelName[3] == 'A') && (modelName[4] == 'S') &&
|
||||
(modelName[3] == 'A') && (((modelName[4] == 'S') &&
|
||||
((modelName[5] == '1') || (modelName[5] == '2') ||
|
||||
(modelName[5] == '3') || (modelName[5] == '#') ||
|
||||
(modelName[5] == '\"')))
|
||||
(modelName[5] == '\"')))||((modelName[4] == 0x84) &&
|
||||
(modelName[5] == '0'))))
|
||||
{
|
||||
//
|
||||
// Extended latency from link-train end to FEC enable pattern
|
||||
// to avoid link lost or blank screen with Synaptics branch.
|
||||
// (Bug 2561206)
|
||||
// (Bug 2561206, 4613021)
|
||||
//
|
||||
// Dock SKU ID:
|
||||
// Dell Salomon-WD19TB SYNAS1
|
||||
|
||||
@@ -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 r555_79
|
||||
#define NV_BUILD_BRANCH r555_97
|
||||
#endif
|
||||
#ifndef NV_PUBLIC_BRANCH
|
||||
#define NV_PUBLIC_BRANCH r555_79
|
||||
#define NV_PUBLIC_BRANCH r555_97
|
||||
#endif
|
||||
|
||||
#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS)
|
||||
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r555/r555_79-111"
|
||||
#define NV_BUILD_CHANGELIST_NUM (34260717)
|
||||
#define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r555/r555_97-144"
|
||||
#define NV_BUILD_CHANGELIST_NUM (34376233)
|
||||
#define NV_BUILD_TYPE "Official"
|
||||
#define NV_BUILD_NAME "rel/gpu_drv/r555/r555_79-111"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (34260717)
|
||||
#define NV_BUILD_NAME "rel/gpu_drv/r555/r555_97-144"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (34376233)
|
||||
|
||||
#else /* Windows builds */
|
||||
#define NV_BUILD_BRANCH_VERSION "r555_79-1"
|
||||
#define NV_BUILD_CHANGELIST_NUM (34253977)
|
||||
#define NV_BUILD_BRANCH_VERSION "r555_97-2"
|
||||
#define NV_BUILD_CHANGELIST_NUM (34367477)
|
||||
#define NV_BUILD_TYPE "Official"
|
||||
#define NV_BUILD_NAME "555.81"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (34253977)
|
||||
#define NV_BUILD_NAME "555.99"
|
||||
#define NV_LAST_OFFICIAL_CHANGELIST_NUM (34367477)
|
||||
#define NV_BUILD_BRANCH_BASE_VERSION R555
|
||||
#endif
|
||||
// End buildmeister python edited section
|
||||
|
||||
@@ -471,6 +471,7 @@ static const PNPVendorId PNPVendorIds[] =
|
||||
{ "SMC", _VENDOR_NAME_ENTRY("Standard Microsystems") },
|
||||
{ "SMI", _VENDOR_NAME_ENTRY("Smile") },
|
||||
{ "SML", _VENDOR_NAME_ENTRY("Smile") },
|
||||
{ "SMN", _VENDOR_NAME_ENTRY("Somnium Space Ltd") },
|
||||
{ "SMS", _VENDOR_NAME_ENTRY("Silicon Multimedia Systems") },
|
||||
{ "SNI", _VENDOR_NAME_ENTRY("Siemens Nixdorf") },
|
||||
{ "SNY", _VENDOR_NAME_ENTRY("Sony") },
|
||||
|
||||
@@ -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 "555.42.02"
|
||||
#define NV_VERSION_STRING "555.52.04"
|
||||
|
||||
#else
|
||||
|
||||
|
||||
Reference in New Issue
Block a user