mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-01-31 13:39:47 +00:00
535.43.02
This commit is contained in:
@@ -285,10 +285,13 @@ static NvBool GetSpaVersion(
|
||||
{ NV2080_CTRL_GR_INFO_SM_VERSION_8_6, { 8,6 } },
|
||||
{ NV2080_CTRL_GR_INFO_SM_VERSION_8_7, { 8,6 } },
|
||||
{ NV2080_CTRL_GR_INFO_SM_VERSION_8_8, { 8,6 } },
|
||||
|
||||
/* Ada */
|
||||
{ NV2080_CTRL_GR_INFO_SM_VERSION_8_9, { 8,9 } },
|
||||
|
||||
/* Hopper */
|
||||
{ NV2080_CTRL_GR_INFO_SM_VERSION_9_0, { 9,0 } },
|
||||
|
||||
};
|
||||
|
||||
const NvU32 smVersion = GetSmVersion(pPushDevice);
|
||||
|
||||
@@ -131,6 +131,7 @@ typedef struct _NvPushAllocDeviceParams {
|
||||
NvU32 numClasses;
|
||||
const NvU32 *supportedClasses;
|
||||
|
||||
NvPushConfidentialComputeMode confidentialComputeMode;
|
||||
} NvPushAllocDeviceParams;
|
||||
|
||||
NvBool nvPushAllocDevice(
|
||||
@@ -173,6 +174,13 @@ typedef struct _NvPushAllocChannelParams {
|
||||
*/
|
||||
NvBool ignoreChannelErrors;
|
||||
|
||||
/*
|
||||
* This flag specifies if channel is intended to be used for
|
||||
* encryption/decryption of data between SYSMEM <-> VIDMEM. Only CE
|
||||
* & SEC2 Channels are capable of handling encrypted content.
|
||||
*/
|
||||
NvBool secureChannel;
|
||||
|
||||
/*
|
||||
* DIFR stands for Display Idle Frame Refresh in which a CE is used to
|
||||
* prefetch framebuffer pixels into the GPU's L2 cache. The prefetch
|
||||
|
||||
@@ -69,6 +69,17 @@ typedef union _NvPushChannelUnion
|
||||
#endif
|
||||
} NvPushChannelUnion;
|
||||
|
||||
typedef enum _NvPushConfidentialComputeMode {
|
||||
/* Confidential computing is not in use. */
|
||||
NV_PUSH_CONFIDENTIAL_COMPUTE_MODE_NONE,
|
||||
|
||||
/*
|
||||
* The confidential compute mode of operation is Hopper Confidential
|
||||
* Compute (HCC).
|
||||
*/
|
||||
NV_PUSH_CONFIDENTIAL_COMPUTE_MODE_HCC,
|
||||
} NvPushConfidentialComputeMode;
|
||||
|
||||
typedef struct _NvPushChannelRec NvPushChannelRec;
|
||||
typedef struct _NvPushChannelRec *NvPushChannelPtr;
|
||||
|
||||
@@ -121,6 +132,8 @@ typedef struct _NvPushDeviceRec {
|
||||
NvPushHal hal;
|
||||
const struct _NvPushImports *pImports;
|
||||
|
||||
/* Provided by the host driver */
|
||||
NvPushConfidentialComputeMode confidentialComputeMode;
|
||||
} NvPushDeviceRec, *NvPushDevicePtr;
|
||||
|
||||
|
||||
|
||||
@@ -412,6 +412,9 @@ static NvBool AllocChannelObject(
|
||||
}
|
||||
|
||||
params.flags = 0;
|
||||
if (pParams->secureChannel) {
|
||||
params.flags |= DRF_DEF(OS04, _FLAGS, _CC_SECURE, _TRUE);
|
||||
}
|
||||
if (pParams->difrPrefetch) {
|
||||
params.flags |= DRF_DEF(OS04,
|
||||
_FLAGS,
|
||||
@@ -1482,6 +1485,8 @@ NvBool nvPushAllocDevice(
|
||||
pDevice->numClasses = pParams->numClasses;
|
||||
pDevice->supportedClasses = pParams->supportedClasses;
|
||||
|
||||
pDevice->confidentialComputeMode = pParams->confidentialComputeMode;
|
||||
|
||||
for (sd = 0; sd < pParams->numSubDevices; sd++) {
|
||||
pDevice->subDevice[sd].handle = pParams->subDevice[sd].handle;
|
||||
pDevice->subDevice[sd].deviceHandle = pParams->subDevice[sd].deviceHandle;
|
||||
|
||||
@@ -1014,7 +1014,7 @@ static void KeplerReleaseTimelineSemaphore(
|
||||
|
||||
// Must be done before submitting the semaphore release to ensure the maximum
|
||||
// known-submitted value is never less than the semaphore's current value.
|
||||
NvTimeSemFermiSetMaxSubmitted(report, val);
|
||||
NvTimeSemFermiSetMaxSubmittedVal(&report->timer, val);
|
||||
|
||||
nvPushMethod(p, 0, NVA16F_SEMAPHOREA, 4);
|
||||
nvPushSetMethodDataU64(p, gpuAddress); // NVA16F_SEMAPHOREB
|
||||
@@ -1106,13 +1106,6 @@ NvBool __nvPushGetHal(
|
||||
pHal->caps.extendedBase = TRUE;
|
||||
// otherwise backwards compatible with the Volta DMA HAL
|
||||
// fall through
|
||||
#if defined(__GNUC__) && __GNUC__ >= 7
|
||||
// GCC apparently doesn't think the comment above is sufficient to
|
||||
// quiet -Wimplicit-fallthrough, when there are preprocessor
|
||||
// directives between it and the next case.
|
||||
// This attribute is only supported on gcc 7 and later.
|
||||
__attribute__ ((fallthrough));
|
||||
#endif
|
||||
case AMPERE_CHANNEL_GPFIFO_A:
|
||||
// backwards compatible with the Volta DMA HAL
|
||||
// fall through
|
||||
|
||||
Reference in New Issue
Block a user