mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-03 15:04:39 +00:00
841 lines
33 KiB
C
841 lines
33 KiB
C
#define NVOC_GPU_H_PRIVATE_ACCESS_ALLOWED
|
|
#include "nvoc/runtime.h"
|
|
#include "nvoc/rtti.h"
|
|
#include "nvtypes.h"
|
|
#include "nvport/nvport.h"
|
|
#include "nvport/inline/util_valist.h"
|
|
#include "utils/nvassert.h"
|
|
#include "g_gpu_nvoc.h"
|
|
|
|
#ifdef DEBUG
|
|
char __nvoc_class_id_uniqueness_check_0x7ef3cb = 1;
|
|
#endif
|
|
|
|
extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJGPU;
|
|
|
|
extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
|
|
|
|
extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmHalspecOwner;
|
|
|
|
extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJTRACEABLE;
|
|
|
|
void __nvoc_init_OBJGPU(OBJGPU*,
|
|
NvU32 ChipHal_arch, NvU32 ChipHal_impl, NvU32 ChipHal_hidrev,
|
|
RM_RUNTIME_VARIANT RmVariantHal_rmVariant,
|
|
NvU32 DispIpHal_ipver);
|
|
void __nvoc_init_funcTable_OBJGPU(OBJGPU*);
|
|
NV_STATUS __nvoc_ctor_OBJGPU(OBJGPU*, NvU32 arg_gpuInstance);
|
|
void __nvoc_init_dataField_OBJGPU(OBJGPU*);
|
|
void __nvoc_dtor_OBJGPU(OBJGPU*);
|
|
extern const struct NVOC_EXPORT_INFO __nvoc_export_info_OBJGPU;
|
|
|
|
static const struct NVOC_RTTI __nvoc_rtti_OBJGPU_OBJGPU = {
|
|
/*pClassDef=*/ &__nvoc_class_def_OBJGPU,
|
|
/*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_OBJGPU,
|
|
/*offset=*/ 0,
|
|
};
|
|
|
|
static const struct NVOC_RTTI __nvoc_rtti_OBJGPU_Object = {
|
|
/*pClassDef=*/ &__nvoc_class_def_Object,
|
|
/*dtor=*/ &__nvoc_destructFromBase,
|
|
/*offset=*/ NV_OFFSETOF(OBJGPU, __nvoc_base_Object),
|
|
};
|
|
|
|
static const struct NVOC_RTTI __nvoc_rtti_OBJGPU_RmHalspecOwner = {
|
|
/*pClassDef=*/ &__nvoc_class_def_RmHalspecOwner,
|
|
/*dtor=*/ &__nvoc_destructFromBase,
|
|
/*offset=*/ NV_OFFSETOF(OBJGPU, __nvoc_base_RmHalspecOwner),
|
|
};
|
|
|
|
static const struct NVOC_RTTI __nvoc_rtti_OBJGPU_OBJTRACEABLE = {
|
|
/*pClassDef=*/ &__nvoc_class_def_OBJTRACEABLE,
|
|
/*dtor=*/ &__nvoc_destructFromBase,
|
|
/*offset=*/ NV_OFFSETOF(OBJGPU, __nvoc_base_OBJTRACEABLE),
|
|
};
|
|
|
|
static const struct NVOC_CASTINFO __nvoc_castinfo_OBJGPU = {
|
|
/*numRelatives=*/ 4,
|
|
/*relatives=*/ {
|
|
&__nvoc_rtti_OBJGPU_OBJGPU,
|
|
&__nvoc_rtti_OBJGPU_OBJTRACEABLE,
|
|
&__nvoc_rtti_OBJGPU_RmHalspecOwner,
|
|
&__nvoc_rtti_OBJGPU_Object,
|
|
},
|
|
};
|
|
|
|
const struct NVOC_CLASS_DEF __nvoc_class_def_OBJGPU =
|
|
{
|
|
/*classInfo=*/ {
|
|
/*size=*/ sizeof(OBJGPU),
|
|
/*classId=*/ classId(OBJGPU),
|
|
/*providerId=*/ &__nvoc_rtti_provider,
|
|
#if NV_PRINTF_STRINGS_ALLOWED
|
|
/*name=*/ "OBJGPU",
|
|
#endif
|
|
},
|
|
/*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_OBJGPU,
|
|
/*pCastInfo=*/ &__nvoc_castinfo_OBJGPU,
|
|
/*pExportInfo=*/ &__nvoc_export_info_OBJGPU
|
|
};
|
|
|
|
const struct NVOC_EXPORT_INFO __nvoc_export_info_OBJGPU =
|
|
{
|
|
/*numEntries=*/ 0,
|
|
/*pExportEntries=*/ 0
|
|
};
|
|
|
|
void __nvoc_dtor_Object(Object*);
|
|
void __nvoc_dtor_RmHalspecOwner(RmHalspecOwner*);
|
|
void __nvoc_dtor_OBJTRACEABLE(OBJTRACEABLE*);
|
|
void __nvoc_dtor_OBJGPU(OBJGPU *pThis) {
|
|
__nvoc_gpuDestruct(pThis);
|
|
__nvoc_dtor_Object(&pThis->__nvoc_base_Object);
|
|
__nvoc_dtor_RmHalspecOwner(&pThis->__nvoc_base_RmHalspecOwner);
|
|
__nvoc_dtor_OBJTRACEABLE(&pThis->__nvoc_base_OBJTRACEABLE);
|
|
PORT_UNREFERENCED_VARIABLE(pThis);
|
|
}
|
|
|
|
void __nvoc_init_dataField_OBJGPU(OBJGPU *pThis) {
|
|
ChipHal *chipHal = &staticCast(pThis, RmHalspecOwner)->chipHal;
|
|
const unsigned long chipHal_HalVarIdx = (unsigned long)chipHal->__nvoc_HalVarIdx;
|
|
RmVariantHal *rmVariantHal = &staticCast(pThis, RmHalspecOwner)->rmVariantHal;
|
|
const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
|
|
PORT_UNREFERENCED_VARIABLE(pThis);
|
|
PORT_UNREFERENCED_VARIABLE(chipHal);
|
|
PORT_UNREFERENCED_VARIABLE(chipHal_HalVarIdx);
|
|
PORT_UNREFERENCED_VARIABLE(rmVariantHal);
|
|
PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_IS_CONNECTED, ((NvBool)(0 == 0)));
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_TEGRA_SOC_NVDISPLAY
|
|
// default
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_TEGRA_SOC_NVDISPLAY, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_TEGRA_SOC_IGPU
|
|
// default
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_TEGRA_SOC_IGPU, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_ATS_SUPPORTED
|
|
// default
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_ATS_SUPPORTED, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_BUG_3007008_EMULATE_VF_MMU_TLB_INVALIDATE
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x01f0f800UL) )) /* ChipHal: GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_BUG_3007008_EMULATE_VF_MMU_TLB_INVALIDATE, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_BUG_3007008_EMULATE_VF_MMU_TLB_INVALIDATE, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_IS_UEFI
|
|
// default
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_IS_UEFI, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_ZERO_FB
|
|
// default
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_ZERO_FB, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_CAN_OPTIMIZE_COMPUTE_USE_CASE
|
|
// default
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_CAN_OPTIMIZE_COMPUTE_USE_CASE, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_MIG_SUPPORTED
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000400UL) )) /* ChipHal: GA100 | GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_MIG_SUPPORTED, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_MIG_SUPPORTED, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_VC_CAPABILITY_SUPPORTED
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x01f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_VC_CAPABILITY_SUPPORTED, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_VC_CAPABILITY_SUPPORTED, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_RESETLESS_MIG_SUPPORTED
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_RESETLESS_MIG_SUPPORTED, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_RESETLESS_MIG_SUPPORTED, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_IS_COT_ENABLED
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_IS_COT_ENABLED, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_IS_COT_ENABLED, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_VGPU_OFFLOAD_CAPABLE
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f00000UL) )) /* ChipHal: AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_VGPU_OFFLOAD_CAPABLE, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_VGPU_OFFLOAD_CAPABLE, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_UNIX_DYNAMIC_POWER_SUPPORTED
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_UNIX_DYNAMIC_POWER_SUPPORTED, ((NvBool)(0 == 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_SKIP_CE_MAPPINGS_NO_NVLINK
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_SKIP_CE_MAPPINGS_NO_NVLINK, ((NvBool)(0 != 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_SKIP_CE_MAPPINGS_NO_NVLINK, ((NvBool)(0 == 0)));
|
|
}
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_OPTIMUS_GOLD_CFG_SPACE_RESTORE, ((NvBool)(0 == 0)));
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_SRIOV_HEAVY_FORCE_INVALIDATE_ALL_PDBS_WAR_BUG3896322, ((NvBool)(0 != 0)));
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_CC_FEATURE_CAPABLE
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_CC_FEATURE_CAPABLE, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_CC_FEATURE_CAPABLE, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_APM_FEATURE_CAPABLE
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x01f0fc00UL) )) /* ChipHal: GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_APM_FEATURE_CAPABLE, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_APM_FEATURE_CAPABLE, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_EXTENDED_GSP_RM_INITIALIZATION_TIMEOUT_FOR_VGX
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_EXTENDED_GSP_RM_INITIALIZATION_TIMEOUT_FOR_VGX, ((NvBool)(0 == 0)));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_EXTENDED_GSP_RM_INITIALIZATION_TIMEOUT_FOR_VGX, ((NvBool)(0 != 0)));
|
|
}
|
|
|
|
// NVOC Property Hal field -- PDB_PROP_GPU_CHIP_SUPPORTS_RTD3_DEF
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_CHIP_SUPPORTS_RTD3_DEF, ((NvBool)(0 == 0)));
|
|
}
|
|
pThis->setProperty(pThis, PDB_PROP_GPU_FASTPATH_SEQ_ENABLED, ((NvBool)(0 != 0)));
|
|
|
|
pThis->boardId = ~0;
|
|
|
|
pThis->deviceInstance = 32;
|
|
|
|
// Hal field -- isVirtual
|
|
if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000002UL) )) /* RmVariantHal: PF_KERNEL_ONLY */
|
|
{
|
|
pThis->isVirtual = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
// Hal field -- isGspClient
|
|
if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000002UL) )) /* RmVariantHal: PF_KERNEL_ONLY */
|
|
{
|
|
pThis->isGspClient = ((NvBool)(0 == 0));
|
|
}
|
|
|
|
pThis->bIsDebugModeEnabled = ((NvBool)(0 != 0));
|
|
|
|
pThis->numOfMclkLockRequests = 0U;
|
|
|
|
pThis->bUseRegisterAccessMap = !(0);
|
|
|
|
pThis->boardInfo = ((void *)0);
|
|
|
|
// Hal field -- bUnifiedMemorySpaceEnabled
|
|
// default
|
|
{
|
|
pThis->bUnifiedMemorySpaceEnabled = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
// Hal field -- bWarBug200577889SriovHeavyEnabled
|
|
pThis->bWarBug200577889SriovHeavyEnabled = ((NvBool)(0 != 0));
|
|
|
|
// Hal field -- bNeed4kPageIsolation
|
|
// default
|
|
{
|
|
pThis->bNeed4kPageIsolation = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
// Hal field -- bInstLoc47bitPaWar
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->bInstLoc47bitPaWar = ((NvBool)(0 == 0));
|
|
}
|
|
|
|
// Hal field -- bIsBarPteInSysmemSupported
|
|
// default
|
|
{
|
|
pThis->bIsBarPteInSysmemSupported = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
// Hal field -- bClientRmAllocatedCtxBuffer
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0f800UL) )) /* ChipHal: GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->bClientRmAllocatedCtxBuffer = ((NvBool)(0 == 0));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->bClientRmAllocatedCtxBuffer = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
// Hal field -- bVidmemPreservationBrokenBug3172217
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->bVidmemPreservationBrokenBug3172217 = ((NvBool)(0 == 0));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->bVidmemPreservationBrokenBug3172217 = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
// Hal field -- bInstanceMemoryAlwaysCached
|
|
// default
|
|
{
|
|
pThis->bInstanceMemoryAlwaysCached = ((NvBool)(0 != 0));
|
|
}
|
|
|
|
pThis->bIsGeforce = ((NvBool)(0 == 0));
|
|
|
|
// Hal field -- bComputePolicyTimesliceSupported
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->bComputePolicyTimesliceSupported = ((NvBool)(0 == 0));
|
|
}
|
|
|
|
// Hal field -- bSriovCapable
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->bSriovCapable = ((NvBool)(0 == 0));
|
|
}
|
|
|
|
// Hal field -- bRecheckSliSupportAtResume
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->bRecheckSliSupportAtResume = ((NvBool)(0 == 0));
|
|
}
|
|
|
|
pThis->bIsGspOwnedFaultBuffersEnabled = ((NvBool)(0 != 0));
|
|
|
|
// Hal field -- bEnableBar1SparseForFillPteMemUnmap
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0fc00UL) )) /* ChipHal: GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->bEnableBar1SparseForFillPteMemUnmap = ((NvBool)(0 == 0));
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->bEnableBar1SparseForFillPteMemUnmap = ((NvBool)(0 != 0));
|
|
}
|
|
}
|
|
|
|
NV_STATUS __nvoc_ctor_Object(Object* );
|
|
NV_STATUS __nvoc_ctor_RmHalspecOwner(RmHalspecOwner* );
|
|
NV_STATUS __nvoc_ctor_OBJTRACEABLE(OBJTRACEABLE* );
|
|
NV_STATUS __nvoc_ctor_OBJGPU(OBJGPU *pThis, NvU32 arg_gpuInstance) {
|
|
NV_STATUS status = NV_OK;
|
|
status = __nvoc_ctor_Object(&pThis->__nvoc_base_Object);
|
|
if (status != NV_OK) goto __nvoc_ctor_OBJGPU_fail_Object;
|
|
status = __nvoc_ctor_RmHalspecOwner(&pThis->__nvoc_base_RmHalspecOwner);
|
|
if (status != NV_OK) goto __nvoc_ctor_OBJGPU_fail_RmHalspecOwner;
|
|
status = __nvoc_ctor_OBJTRACEABLE(&pThis->__nvoc_base_OBJTRACEABLE);
|
|
if (status != NV_OK) goto __nvoc_ctor_OBJGPU_fail_OBJTRACEABLE;
|
|
__nvoc_init_dataField_OBJGPU(pThis);
|
|
|
|
status = __nvoc_gpuConstruct(pThis, arg_gpuInstance);
|
|
if (status != NV_OK) goto __nvoc_ctor_OBJGPU_fail__init;
|
|
goto __nvoc_ctor_OBJGPU_exit; // Success
|
|
|
|
__nvoc_ctor_OBJGPU_fail__init:
|
|
__nvoc_dtor_OBJTRACEABLE(&pThis->__nvoc_base_OBJTRACEABLE);
|
|
__nvoc_ctor_OBJGPU_fail_OBJTRACEABLE:
|
|
__nvoc_dtor_RmHalspecOwner(&pThis->__nvoc_base_RmHalspecOwner);
|
|
__nvoc_ctor_OBJGPU_fail_RmHalspecOwner:
|
|
__nvoc_dtor_Object(&pThis->__nvoc_base_Object);
|
|
__nvoc_ctor_OBJGPU_fail_Object:
|
|
__nvoc_ctor_OBJGPU_exit:
|
|
|
|
return status;
|
|
}
|
|
|
|
static void __nvoc_init_funcTable_OBJGPU_1(OBJGPU *pThis) {
|
|
ChipHal *chipHal = &staticCast(pThis, RmHalspecOwner)->chipHal;
|
|
const unsigned long chipHal_HalVarIdx = (unsigned long)chipHal->__nvoc_HalVarIdx;
|
|
RmVariantHal *rmVariantHal = &staticCast(pThis, RmHalspecOwner)->rmVariantHal;
|
|
const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
|
|
PORT_UNREFERENCED_VARIABLE(pThis);
|
|
PORT_UNREFERENCED_VARIABLE(chipHal);
|
|
PORT_UNREFERENCED_VARIABLE(chipHal_HalVarIdx);
|
|
PORT_UNREFERENCED_VARIABLE(rmVariantHal);
|
|
PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
|
|
|
|
// Hal function -- gpuConstructDeviceInfoTable
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0fc00UL) )) /* ChipHal: GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->__gpuConstructDeviceInfoTable__ = &gpuConstructDeviceInfoTable_FWCLIENT;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuConstructDeviceInfoTable__ = &gpuConstructDeviceInfoTable_56cd7a;
|
|
}
|
|
|
|
// Hal function -- gpuWriteBusConfigReg
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuWriteBusConfigReg__ = &gpuWriteBusConfigReg_GH100;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuWriteBusConfigReg__ = &gpuWriteBusConfigReg_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuReadBusConfigReg
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuReadBusConfigReg__ = &gpuReadBusConfigReg_GH100;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuReadBusConfigReg__ = &gpuReadBusConfigReg_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuReadBusConfigRegEx
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuReadBusConfigRegEx__ = &gpuReadBusConfigRegEx_5baef9;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuReadBusConfigRegEx__ = &gpuReadBusConfigRegEx_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuReadFunctionConfigReg
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuReadFunctionConfigReg__ = &gpuReadFunctionConfigReg_5baef9;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuReadFunctionConfigReg__ = &gpuReadFunctionConfigReg_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuWriteFunctionConfigReg
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuWriteFunctionConfigReg__ = &gpuWriteFunctionConfigReg_5baef9;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuWriteFunctionConfigReg__ = &gpuWriteFunctionConfigReg_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuWriteFunctionConfigRegEx
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuWriteFunctionConfigRegEx__ = &gpuWriteFunctionConfigRegEx_5baef9;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuWriteFunctionConfigRegEx__ = &gpuWriteFunctionConfigRegEx_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuReadVgpuConfigReg
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuReadVgpuConfigReg__ = &gpuReadVgpuConfigReg_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuReadVgpuConfigReg__ = &gpuReadVgpuConfigReg_46f6a7;
|
|
}
|
|
|
|
// Hal function -- gpuGetIdInfo
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuGetIdInfo__ = &gpuGetIdInfo_GH100;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuGetIdInfo__ = &gpuGetIdInfo_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuHandleSanityCheckRegReadError
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuHandleSanityCheckRegReadError__ = &gpuHandleSanityCheckRegReadError_GH100;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuHandleSanityCheckRegReadError__ = &gpuHandleSanityCheckRegReadError_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuHandleSecFault
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuHandleSecFault__ = &gpuHandleSecFault_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuHandleSecFault__ = &gpuHandleSecFault_b3696a;
|
|
}
|
|
|
|
// Hal function -- gpuGetChildrenPresent
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000040UL) )) /* ChipHal: TU104 */
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_TU104;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000080UL) )) /* ChipHal: TU106 */
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_TU106;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000400UL) )) /* ChipHal: GA100 */
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_GA100;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_GH100;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000320UL) )) /* ChipHal: TU102 | TU116 | TU117 */
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_TU102;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x0000f800UL) )) /* ChipHal: GA102 | GA103 | GA104 | GA106 | GA107 */
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_GA102;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuGetChildrenPresent__ = &gpuGetChildrenPresent_AD102;
|
|
}
|
|
|
|
// Hal function -- gpuGetClassDescriptorList
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000040UL) )) /* ChipHal: TU104 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_TU104;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000080UL) )) /* ChipHal: TU106 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_TU106;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000200UL) )) /* ChipHal: TU117 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_TU117;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000400UL) )) /* ChipHal: GA100 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_GA100;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_GH100;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x00000120UL) )) /* ChipHal: TU102 | TU116 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_TU102;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x0000f800UL) )) /* ChipHal: GA102 | GA103 | GA104 | GA106 | GA107 */
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_GA102;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuGetClassDescriptorList__ = &gpuGetClassDescriptorList_AD102;
|
|
}
|
|
|
|
// Hal function -- gpuGetPhysAddrWidth
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuGetPhysAddrWidth__ = &gpuGetPhysAddrWidth_GH100;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuGetPhysAddrWidth__ = &gpuGetPhysAddrWidth_TU102;
|
|
}
|
|
|
|
// Hal function -- gpuFuseSupportsDisplay
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000400UL) )) /* ChipHal: GA100 | GH100 */
|
|
{
|
|
pThis->__gpuFuseSupportsDisplay__ = &gpuFuseSupportsDisplay_491d52;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x000003e0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 */
|
|
{
|
|
pThis->__gpuFuseSupportsDisplay__ = &gpuFuseSupportsDisplay_GM107;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuFuseSupportsDisplay__ = &gpuFuseSupportsDisplay_GA100;
|
|
}
|
|
|
|
// Hal function -- gpuClearFbhubPoisonIntrForBug2924523
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000400UL) )) /* ChipHal: GA100 | GH100 */
|
|
{
|
|
pThis->__gpuClearFbhubPoisonIntrForBug2924523__ = &gpuClearFbhubPoisonIntrForBug2924523_GA100_KERNEL;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuClearFbhubPoisonIntrForBug2924523__ = &gpuClearFbhubPoisonIntrForBug2924523_56cd7a;
|
|
}
|
|
|
|
// Hal function -- gpuCheckIfFbhubPoisonIntrPending
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000400UL) )) /* ChipHal: GA100 | GH100 */
|
|
{
|
|
pThis->__gpuCheckIfFbhubPoisonIntrPending__ = &gpuCheckIfFbhubPoisonIntrPending_GA100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuCheckIfFbhubPoisonIntrPending__ = &gpuCheckIfFbhubPoisonIntrPending_491d52;
|
|
}
|
|
|
|
// Hal function -- gpuReadDeviceId
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuReadDeviceId__ = &gpuReadDeviceId_GH100;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuReadDeviceId__ = &gpuReadDeviceId_GM107;
|
|
}
|
|
|
|
// Hal function -- gpuGetFlaVasSize
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuGetFlaVasSize__ = &gpuGetFlaVasSize_GH100;
|
|
}
|
|
else if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x000003e0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 */
|
|
{
|
|
pThis->__gpuGetFlaVasSize__ = &gpuGetFlaVasSize_474d46;
|
|
}
|
|
else
|
|
{
|
|
pThis->__gpuGetFlaVasSize__ = &gpuGetFlaVasSize_GA100;
|
|
}
|
|
|
|
// Hal function -- gpuDetermineSelfHostedMode
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuDetermineSelfHostedMode__ = &gpuDetermineSelfHostedMode_KERNEL_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuDetermineSelfHostedMode__ = &gpuDetermineSelfHostedMode_b3696a;
|
|
}
|
|
|
|
// Hal function -- gpuDetermineMIGSupport
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuDetermineMIGSupport__ = &gpuDetermineMIGSupport_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuDetermineMIGSupport__ = &gpuDetermineMIGSupport_b3696a;
|
|
}
|
|
|
|
// Hal function -- gpuIsAtsSupportedWithSmcMemPartitioning
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuIsAtsSupportedWithSmcMemPartitioning__ = &gpuIsAtsSupportedWithSmcMemPartitioning_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuIsAtsSupportedWithSmcMemPartitioning__ = &gpuIsAtsSupportedWithSmcMemPartitioning_491d52;
|
|
}
|
|
|
|
// Hal function -- gpuIsSliCapableWithoutDisplay
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuIsSliCapableWithoutDisplay__ = &gpuIsSliCapableWithoutDisplay_cbe027;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuIsSliCapableWithoutDisplay__ = &gpuIsSliCapableWithoutDisplay_491d52;
|
|
}
|
|
|
|
// Hal function -- gpuIsCCEnabledInHw
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuIsCCEnabledInHw__ = &gpuIsCCEnabledInHw_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuIsCCEnabledInHw__ = &gpuIsCCEnabledInHw_491d52;
|
|
}
|
|
|
|
// Hal function -- gpuIsDevModeEnabledInHw
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x10000000UL) )) /* ChipHal: GH100 */
|
|
{
|
|
pThis->__gpuIsDevModeEnabledInHw__ = &gpuIsDevModeEnabledInHw_GH100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuIsDevModeEnabledInHw__ = &gpuIsDevModeEnabledInHw_491d52;
|
|
}
|
|
|
|
// Hal function -- gpuIsCtxBufAllocInPmaSupported
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x11f0fc00UL) )) /* ChipHal: GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 | GH100 */
|
|
{
|
|
pThis->__gpuIsCtxBufAllocInPmaSupported__ = &gpuIsCtxBufAllocInPmaSupported_GA100;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuIsCtxBufAllocInPmaSupported__ = &gpuIsCtxBufAllocInPmaSupported_491d52;
|
|
}
|
|
|
|
// Hal function -- gpuWaitForGfwBootComplete
|
|
if (( ((chipHal_HalVarIdx >> 5) == 1UL) && ((1UL << (chipHal_HalVarIdx & 0x1f)) & 0x01f0ffe0UL) )) /* ChipHal: TU102 | TU104 | TU106 | TU116 | TU117 | GA100 | GA102 | GA103 | GA104 | GA106 | GA107 | AD102 | AD103 | AD104 | AD106 | AD107 */
|
|
{
|
|
pThis->__gpuWaitForGfwBootComplete__ = &gpuWaitForGfwBootComplete_TU102;
|
|
}
|
|
// default
|
|
else
|
|
{
|
|
pThis->__gpuWaitForGfwBootComplete__ = &gpuWaitForGfwBootComplete_5baef9;
|
|
}
|
|
}
|
|
|
|
void __nvoc_init_funcTable_OBJGPU(OBJGPU *pThis) {
|
|
__nvoc_init_funcTable_OBJGPU_1(pThis);
|
|
}
|
|
|
|
void __nvoc_init_Object(Object*);
|
|
void __nvoc_init_RmHalspecOwner(RmHalspecOwner*, NvU32, NvU32, NvU32, RM_RUNTIME_VARIANT, NvU32);
|
|
void __nvoc_init_OBJTRACEABLE(OBJTRACEABLE*);
|
|
void __nvoc_init_OBJGPU(OBJGPU *pThis,
|
|
NvU32 ChipHal_arch, NvU32 ChipHal_impl, NvU32 ChipHal_hidrev,
|
|
RM_RUNTIME_VARIANT RmVariantHal_rmVariant,
|
|
NvU32 DispIpHal_ipver) {
|
|
pThis->__nvoc_pbase_OBJGPU = pThis;
|
|
pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_Object;
|
|
pThis->__nvoc_pbase_RmHalspecOwner = &pThis->__nvoc_base_RmHalspecOwner;
|
|
pThis->__nvoc_pbase_OBJTRACEABLE = &pThis->__nvoc_base_OBJTRACEABLE;
|
|
__nvoc_init_Object(&pThis->__nvoc_base_Object);
|
|
__nvoc_init_RmHalspecOwner(&pThis->__nvoc_base_RmHalspecOwner, ChipHal_arch, ChipHal_impl, ChipHal_hidrev, RmVariantHal_rmVariant, DispIpHal_ipver);
|
|
__nvoc_init_OBJTRACEABLE(&pThis->__nvoc_base_OBJTRACEABLE);
|
|
__nvoc_init_funcTable_OBJGPU(pThis);
|
|
}
|
|
|
|
NV_STATUS __nvoc_objCreate_OBJGPU(OBJGPU **ppThis, Dynamic *pParent, NvU32 createFlags,
|
|
NvU32 ChipHal_arch, NvU32 ChipHal_impl, NvU32 ChipHal_hidrev,
|
|
RM_RUNTIME_VARIANT RmVariantHal_rmVariant,
|
|
NvU32 DispIpHal_ipver, NvU32 arg_gpuInstance) {
|
|
NV_STATUS status;
|
|
Object *pParentObj;
|
|
OBJGPU *pThis;
|
|
|
|
status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(OBJGPU), (void**)&pThis, (void**)ppThis);
|
|
if (status != NV_OK)
|
|
return status;
|
|
|
|
portMemSet(pThis, 0, sizeof(OBJGPU));
|
|
|
|
__nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_OBJGPU);
|
|
|
|
pThis->__nvoc_base_Object.createFlags = createFlags;
|
|
|
|
if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
|
|
{
|
|
pParentObj = dynamicCast(pParent, Object);
|
|
objAddChild(pParentObj, &pThis->__nvoc_base_Object);
|
|
}
|
|
else
|
|
{
|
|
pThis->__nvoc_base_Object.pParent = NULL;
|
|
}
|
|
|
|
__nvoc_init_OBJGPU(pThis, ChipHal_arch, ChipHal_impl, ChipHal_hidrev, RmVariantHal_rmVariant, DispIpHal_ipver);
|
|
status = __nvoc_ctor_OBJGPU(pThis, arg_gpuInstance);
|
|
if (status != NV_OK) goto __nvoc_objCreate_OBJGPU_cleanup;
|
|
|
|
*ppThis = pThis;
|
|
|
|
return NV_OK;
|
|
|
|
__nvoc_objCreate_OBJGPU_cleanup:
|
|
// do not call destructors here since the constructor already called them
|
|
if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
|
|
portMemSet(pThis, 0, sizeof(OBJGPU));
|
|
else
|
|
portMemFree(pThis);
|
|
|
|
// coverity[leaked_storage:FALSE]
|
|
return status;
|
|
}
|
|
|
|
NV_STATUS __nvoc_objCreateDynamic_OBJGPU(OBJGPU **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
|
|
NV_STATUS status;
|
|
NvU32 ChipHal_arch = va_arg(args, NvU32);
|
|
NvU32 ChipHal_impl = va_arg(args, NvU32);
|
|
NvU32 ChipHal_hidrev = va_arg(args, NvU32);
|
|
RM_RUNTIME_VARIANT RmVariantHal_rmVariant = va_arg(args, RM_RUNTIME_VARIANT);
|
|
NvU32 DispIpHal_ipver = va_arg(args, NvU32);
|
|
NvU32 arg_gpuInstance = va_arg(args, NvU32);
|
|
|
|
status = __nvoc_objCreate_OBJGPU(ppThis, pParent, createFlags, ChipHal_arch, ChipHal_impl, ChipHal_hidrev, RmVariantHal_rmVariant, DispIpHal_ipver, arg_gpuInstance);
|
|
|
|
return status;
|
|
}
|
|
|