mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-04-28 10:11:19 +00:00
committed by
Gaurav Juvekar
parent
caa2dd11a0
commit
3084c04453
@@ -1,13 +1,20 @@
|
||||
|
||||
#ifndef _G_GPU_VASPACE_NVOC_H_
|
||||
#define _G_GPU_VASPACE_NVOC_H_
|
||||
#include "nvoc/runtime.h"
|
||||
|
||||
// Version of generated metadata structures
|
||||
#ifdef NVOC_METADATA_VERSION
|
||||
#undef NVOC_METADATA_VERSION
|
||||
#endif
|
||||
#define NVOC_METADATA_VERSION 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2013-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2013-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@@ -29,6 +36,7 @@ extern "C" {
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "g_gpu_vaspace_nvoc.h"
|
||||
|
||||
#ifndef GPU_VASPACE_H
|
||||
@@ -220,41 +228,52 @@ struct MMU_WALK_USER_CTX
|
||||
#define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x)
|
||||
#endif
|
||||
|
||||
|
||||
struct OBJGVASPACE {
|
||||
|
||||
// Metadata
|
||||
const struct NVOC_RTTI *__nvoc_rtti;
|
||||
|
||||
// Parent (i.e. superclass or base class) object pointers
|
||||
struct OBJVASPACE __nvoc_base_OBJVASPACE;
|
||||
struct Object *__nvoc_pbase_Object;
|
||||
struct OBJVASPACE *__nvoc_pbase_OBJVASPACE;
|
||||
struct OBJGVASPACE *__nvoc_pbase_OBJGVASPACE;
|
||||
NV_STATUS (*__gvaspaceConstruct___)(struct OBJGVASPACE *, NvU32, NvU32, NvU64, NvU64, NvU64, NvU64, NvU32);
|
||||
NV_STATUS (*__gvaspaceReserveMempool__)(struct OBJGVASPACE *, struct OBJGPU *, struct Device *, NvU64, NvU64, NvU32);
|
||||
NV_STATUS (*__gvaspaceAlloc__)(struct OBJGVASPACE *, NvU64, NvU64, NvU64, NvU64, NvU64, VAS_ALLOC_FLAGS, NvU64 *);
|
||||
NV_STATUS (*__gvaspaceFree__)(struct OBJGVASPACE *, NvU64);
|
||||
NV_STATUS (*__gvaspaceApplyDefaultAlignment__)(struct OBJGVASPACE *, const FB_ALLOC_INFO *, NvU64 *, NvU64 *, NvU64 *);
|
||||
NV_STATUS (*__gvaspaceIncAllocRefCnt__)(struct OBJGVASPACE *, NvU64);
|
||||
NV_STATUS (*__gvaspaceMap__)(struct OBJGVASPACE *, struct OBJGPU *, const NvU64, const NvU64, const MMU_MAP_TARGET *, const VAS_MAP_FLAGS);
|
||||
void (*__gvaspaceUnmap__)(struct OBJGVASPACE *, struct OBJGPU *, const NvU64, const NvU64);
|
||||
struct OBJEHEAP *(*__gvaspaceGetHeap__)(struct OBJGVASPACE *);
|
||||
NvU64 (*__gvaspaceGetMapPageSize__)(struct OBJGVASPACE *, struct OBJGPU *, struct EMEMBLOCK *);
|
||||
NvU64 (*__gvaspaceGetBigPageSize__)(struct OBJGVASPACE *);
|
||||
NvU32 (*__gvaspaceGetFlags__)(struct OBJGVASPACE *);
|
||||
NvBool (*__gvaspaceIsMirrored__)(struct OBJGVASPACE *);
|
||||
NvBool (*__gvaspaceIsFaultCapable__)(struct OBJGVASPACE *);
|
||||
NvBool (*__gvaspaceIsExternallyOwned__)(struct OBJGVASPACE *);
|
||||
NvBool (*__gvaspaceIsAtsEnabled__)(struct OBJGVASPACE *);
|
||||
NV_STATUS (*__gvaspaceGetPasid__)(struct OBJGVASPACE *, NvU32 *);
|
||||
PMEMORY_DESCRIPTOR (*__gvaspaceGetPageDirBase__)(struct OBJGVASPACE *, struct OBJGPU *);
|
||||
PMEMORY_DESCRIPTOR (*__gvaspaceGetKernelPageDirBase__)(struct OBJGVASPACE *, struct OBJGPU *);
|
||||
NV_STATUS (*__gvaspacePinRootPageDir__)(struct OBJGVASPACE *, struct OBJGPU *);
|
||||
void (*__gvaspaceUnpinRootPageDir__)(struct OBJGVASPACE *, struct OBJGPU *);
|
||||
void (*__gvaspaceInvalidateTlb__)(struct OBJGVASPACE *, struct OBJGPU *, VAS_PTE_UPDATE_TYPE);
|
||||
NV_STATUS (*__gvaspaceGetVasInfo__)(struct OBJGVASPACE *, NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS *);
|
||||
NV_STATUS (*__gvaspaceGetPageTableInfo__)(struct OBJGVASPACE *, NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS *);
|
||||
NV_STATUS (*__gvaspaceGetPteInfo__)(struct OBJGVASPACE *, struct OBJGPU *, NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS *, RmPhysAddr *);
|
||||
NV_STATUS (*__gvaspaceSetPteInfo__)(struct OBJGVASPACE *, struct OBJGPU *, NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS *);
|
||||
NV_STATUS (*__gvaspaceFreeV2__)(struct OBJGVASPACE *, NvU64, NvU64 *);
|
||||
NvU64 (*__gvaspaceGetVaLimit__)(struct OBJGVASPACE *);
|
||||
NvU64 (*__gvaspaceGetVaStart__)(struct OBJGVASPACE *);
|
||||
|
||||
// Ancestor object pointers for `staticCast` feature
|
||||
struct Object *__nvoc_pbase_Object; // obj super^2
|
||||
struct OBJVASPACE *__nvoc_pbase_OBJVASPACE; // vaspace super
|
||||
struct OBJGVASPACE *__nvoc_pbase_OBJGVASPACE; // gvaspace
|
||||
|
||||
// Vtable with 29 per-object function pointers
|
||||
NV_STATUS (*__gvaspaceConstruct___)(struct OBJGVASPACE * /*this*/, NvU32, NvU32, NvU64, NvU64, NvU64, NvU64, NvU32); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceReserveMempool__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, struct Device *, NvU64, NvU64, NvU32); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceAlloc__)(struct OBJGVASPACE * /*this*/, NvU64, NvU64, NvU64, NvU64, NvU64, VAS_ALLOC_FLAGS, NvU64 *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceFree__)(struct OBJGVASPACE * /*this*/, NvU64); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceApplyDefaultAlignment__)(struct OBJGVASPACE * /*this*/, const FB_ALLOC_INFO *, NvU64 *, NvU64 *, NvU64 *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceIncAllocRefCnt__)(struct OBJGVASPACE * /*this*/, NvU64); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceMap__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, const NvU64, const NvU64, const MMU_MAP_TARGET *, const VAS_MAP_FLAGS); // virtual override (vaspace) base (vaspace)
|
||||
void (*__gvaspaceUnmap__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, const NvU64, const NvU64); // virtual override (vaspace) base (vaspace)
|
||||
struct OBJEHEAP * (*__gvaspaceGetHeap__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NvU64 (*__gvaspaceGetMapPageSize__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, struct EMEMBLOCK *); // virtual override (vaspace) base (vaspace)
|
||||
NvU64 (*__gvaspaceGetBigPageSize__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NvU32 (*__gvaspaceGetFlags__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NvBool (*__gvaspaceIsMirrored__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NvBool (*__gvaspaceIsFaultCapable__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NvBool (*__gvaspaceIsExternallyOwned__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NvBool (*__gvaspaceIsAtsEnabled__)(struct OBJGVASPACE * /*this*/); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceGetPasid__)(struct OBJGVASPACE * /*this*/, NvU32 *); // virtual override (vaspace) base (vaspace)
|
||||
PMEMORY_DESCRIPTOR (*__gvaspaceGetPageDirBase__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *); // virtual override (vaspace) base (vaspace)
|
||||
PMEMORY_DESCRIPTOR (*__gvaspaceGetKernelPageDirBase__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspacePinRootPageDir__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *); // virtual override (vaspace) base (vaspace)
|
||||
void (*__gvaspaceUnpinRootPageDir__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *); // virtual override (vaspace) base (vaspace)
|
||||
void (*__gvaspaceInvalidateTlb__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, VAS_PTE_UPDATE_TYPE); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceGetVasInfo__)(struct OBJGVASPACE * /*this*/, NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceGetPageTableInfo__)(struct OBJGVASPACE * /*this*/, NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceGetPteInfo__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS *, RmPhysAddr *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceSetPteInfo__)(struct OBJGVASPACE * /*this*/, struct OBJGPU *, NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS *); // virtual override (vaspace) base (vaspace)
|
||||
NV_STATUS (*__gvaspaceFreeV2__)(struct OBJGVASPACE * /*this*/, NvU64, NvU64 *); // virtual override (vaspace) base (vaspace)
|
||||
NvU64 (*__gvaspaceGetVaStart__)(struct OBJGVASPACE * /*this*/); // virtual inherited (vaspace) base (vaspace)
|
||||
NvU64 (*__gvaspaceGetVaLimit__)(struct OBJGVASPACE * /*this*/); // virtual inherited (vaspace) base (vaspace)
|
||||
|
||||
// Data members
|
||||
struct OBJEHEAP *pHeap;
|
||||
NvU64 bigPageSize;
|
||||
NvU64 compPageSize;
|
||||
@@ -289,6 +308,7 @@ typedef struct OBJGVASPACE OBJGVASPACE;
|
||||
#define __nvoc_class_id_OBJGVASPACE 0xba5875
|
||||
#endif /* __nvoc_class_id_OBJGVASPACE */
|
||||
|
||||
// Casting support
|
||||
extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJGVASPACE;
|
||||
|
||||
#define __staticCast_OBJGVASPACE(pThis) \
|
||||
@@ -301,211 +321,243 @@ extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJGVASPACE;
|
||||
((OBJGVASPACE*)__nvoc_dynamicCast(staticCast((pThis), Dynamic), classInfo(OBJGVASPACE)))
|
||||
#endif //__nvoc_gpu_vaspace_h_disabled
|
||||
|
||||
|
||||
NV_STATUS __nvoc_objCreateDynamic_OBJGVASPACE(OBJGVASPACE**, Dynamic*, NvU32, va_list);
|
||||
|
||||
NV_STATUS __nvoc_objCreate_OBJGVASPACE(OBJGVASPACE**, Dynamic*, NvU32);
|
||||
#define __objCreate_OBJGVASPACE(ppNewObj, pParent, createFlags) \
|
||||
__nvoc_objCreate_OBJGVASPACE((ppNewObj), staticCast((pParent), Dynamic), (createFlags))
|
||||
|
||||
#define gvaspaceConstruct_(pGVAS, classId, vaspaceId, vaStart, vaLimit, vaStartInternal, vaLimitInternal, flags) gvaspaceConstruct__DISPATCH(pGVAS, classId, vaspaceId, vaStart, vaLimit, vaStartInternal, vaLimitInternal, flags)
|
||||
#define gvaspaceReserveMempool(pGVAS, pGpu, pDevice, size, pageSizeLockMask, flags) gvaspaceReserveMempool_DISPATCH(pGVAS, pGpu, pDevice, size, pageSizeLockMask, flags)
|
||||
#define gvaspaceAlloc(pVAS, size, align, rangeLo, rangeHi, pageSizeLockMask, flags, pAddr) gvaspaceAlloc_DISPATCH(pVAS, size, align, rangeLo, rangeHi, pageSizeLockMask, flags, pAddr)
|
||||
#define gvaspaceFree(pVAS, vAddr) gvaspaceFree_DISPATCH(pVAS, vAddr)
|
||||
#define gvaspaceApplyDefaultAlignment(pVAS, pAllocInfo, pAlign, pSize, pPageSizeLockMask) gvaspaceApplyDefaultAlignment_DISPATCH(pVAS, pAllocInfo, pAlign, pSize, pPageSizeLockMask)
|
||||
#define gvaspaceIncAllocRefCnt(pVAS, vAddr) gvaspaceIncAllocRefCnt_DISPATCH(pVAS, vAddr)
|
||||
#define gvaspaceMap(pVAS, pGpu, vaLo, vaHi, pTarget, flags) gvaspaceMap_DISPATCH(pVAS, pGpu, vaLo, vaHi, pTarget, flags)
|
||||
#define gvaspaceUnmap(pVAS, pGpu, vaLo, vaHi) gvaspaceUnmap_DISPATCH(pVAS, pGpu, vaLo, vaHi)
|
||||
#define gvaspaceGetHeap(pVAS) gvaspaceGetHeap_DISPATCH(pVAS)
|
||||
#define gvaspaceGetMapPageSize(pVAS, pGpu, pMemBlock) gvaspaceGetMapPageSize_DISPATCH(pVAS, pGpu, pMemBlock)
|
||||
#define gvaspaceGetBigPageSize(pVAS) gvaspaceGetBigPageSize_DISPATCH(pVAS)
|
||||
#define gvaspaceGetFlags(pVAS) gvaspaceGetFlags_DISPATCH(pVAS)
|
||||
#define gvaspaceIsMirrored(pVAS) gvaspaceIsMirrored_DISPATCH(pVAS)
|
||||
#define gvaspaceIsFaultCapable(pVAS) gvaspaceIsFaultCapable_DISPATCH(pVAS)
|
||||
#define gvaspaceIsExternallyOwned(pVAS) gvaspaceIsExternallyOwned_DISPATCH(pVAS)
|
||||
#define gvaspaceIsAtsEnabled(pVAS) gvaspaceIsAtsEnabled_DISPATCH(pVAS)
|
||||
#define gvaspaceGetPasid(pVAS, pPasid) gvaspaceGetPasid_DISPATCH(pVAS, pPasid)
|
||||
#define gvaspaceGetPageDirBase(pVAS, pGpu) gvaspaceGetPageDirBase_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspaceGetKernelPageDirBase(pVAS, pGpu) gvaspaceGetKernelPageDirBase_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspacePinRootPageDir(pVAS, pGpu) gvaspacePinRootPageDir_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspaceUnpinRootPageDir(pVAS, pGpu) gvaspaceUnpinRootPageDir_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspaceInvalidateTlb(pVAS, pGpu, type) gvaspaceInvalidateTlb_DISPATCH(pVAS, pGpu, type)
|
||||
#define gvaspaceGetVasInfo(pVAS, pParams) gvaspaceGetVasInfo_DISPATCH(pVAS, pParams)
|
||||
#define gvaspaceGetPageTableInfo(pVAS, pParams) gvaspaceGetPageTableInfo_DISPATCH(pVAS, pParams)
|
||||
#define gvaspaceGetPteInfo(pVAS, pGpu, pParams, pPhysAddr) gvaspaceGetPteInfo_DISPATCH(pVAS, pGpu, pParams, pPhysAddr)
|
||||
#define gvaspaceSetPteInfo(pVAS, pGpu, pParams) gvaspaceSetPteInfo_DISPATCH(pVAS, pGpu, pParams)
|
||||
#define gvaspaceFreeV2(pGVAS, vAddr, pSize) gvaspaceFreeV2_DISPATCH(pGVAS, vAddr, pSize)
|
||||
#define gvaspaceGetVaLimit(pVAS) gvaspaceGetVaLimit_DISPATCH(pVAS)
|
||||
#define gvaspaceGetVaStart(pVAS) gvaspaceGetVaStart_DISPATCH(pVAS)
|
||||
NV_STATUS gvaspaceConstruct__IMPL(struct OBJGVASPACE *pGVAS, NvU32 classId, NvU32 vaspaceId, NvU64 vaStart, NvU64 vaLimit, NvU64 vaStartInternal, NvU64 vaLimitInternal, NvU32 flags);
|
||||
|
||||
// Wrapper macros
|
||||
#define gvaspaceConstruct__FNPTR(pGVAS) pGVAS->__gvaspaceConstruct___
|
||||
#define gvaspaceConstruct_(pGVAS, classId, vaspaceId, vaStart, vaLimit, vaStartInternal, vaLimitInternal, flags) gvaspaceConstruct__DISPATCH(pGVAS, classId, vaspaceId, vaStart, vaLimit, vaStartInternal, vaLimitInternal, flags)
|
||||
#define gvaspaceReserveMempool_FNPTR(pGVAS) pGVAS->__gvaspaceReserveMempool__
|
||||
#define gvaspaceReserveMempool(pGVAS, pGpu, pDevice, size, pageSizeLockMask, flags) gvaspaceReserveMempool_DISPATCH(pGVAS, pGpu, pDevice, size, pageSizeLockMask, flags)
|
||||
#define gvaspaceAlloc_FNPTR(pVAS) pVAS->__gvaspaceAlloc__
|
||||
#define gvaspaceAlloc(pVAS, size, align, rangeLo, rangeHi, pageSizeLockMask, flags, pAddr) gvaspaceAlloc_DISPATCH(pVAS, size, align, rangeLo, rangeHi, pageSizeLockMask, flags, pAddr)
|
||||
#define gvaspaceFree_FNPTR(pVAS) pVAS->__gvaspaceFree__
|
||||
#define gvaspaceFree(pVAS, vAddr) gvaspaceFree_DISPATCH(pVAS, vAddr)
|
||||
#define gvaspaceApplyDefaultAlignment_FNPTR(pVAS) pVAS->__gvaspaceApplyDefaultAlignment__
|
||||
#define gvaspaceApplyDefaultAlignment(pVAS, pAllocInfo, pAlign, pSize, pPageSizeLockMask) gvaspaceApplyDefaultAlignment_DISPATCH(pVAS, pAllocInfo, pAlign, pSize, pPageSizeLockMask)
|
||||
#define gvaspaceIncAllocRefCnt_FNPTR(pVAS) pVAS->__gvaspaceIncAllocRefCnt__
|
||||
#define gvaspaceIncAllocRefCnt(pVAS, vAddr) gvaspaceIncAllocRefCnt_DISPATCH(pVAS, vAddr)
|
||||
#define gvaspaceMap_FNPTR(pVAS) pVAS->__gvaspaceMap__
|
||||
#define gvaspaceMap(pVAS, pGpu, vaLo, vaHi, pTarget, flags) gvaspaceMap_DISPATCH(pVAS, pGpu, vaLo, vaHi, pTarget, flags)
|
||||
#define gvaspaceUnmap_FNPTR(pVAS) pVAS->__gvaspaceUnmap__
|
||||
#define gvaspaceUnmap(pVAS, pGpu, vaLo, vaHi) gvaspaceUnmap_DISPATCH(pVAS, pGpu, vaLo, vaHi)
|
||||
#define gvaspaceGetHeap_FNPTR(pVAS) pVAS->__gvaspaceGetHeap__
|
||||
#define gvaspaceGetHeap(pVAS) gvaspaceGetHeap_DISPATCH(pVAS)
|
||||
#define gvaspaceGetMapPageSize_FNPTR(pVAS) pVAS->__gvaspaceGetMapPageSize__
|
||||
#define gvaspaceGetMapPageSize(pVAS, pGpu, pMemBlock) gvaspaceGetMapPageSize_DISPATCH(pVAS, pGpu, pMemBlock)
|
||||
#define gvaspaceGetBigPageSize_FNPTR(pVAS) pVAS->__gvaspaceGetBigPageSize__
|
||||
#define gvaspaceGetBigPageSize(pVAS) gvaspaceGetBigPageSize_DISPATCH(pVAS)
|
||||
#define gvaspaceGetFlags_FNPTR(pVAS) pVAS->__gvaspaceGetFlags__
|
||||
#define gvaspaceGetFlags(pVAS) gvaspaceGetFlags_DISPATCH(pVAS)
|
||||
#define gvaspaceIsMirrored_FNPTR(pVAS) pVAS->__gvaspaceIsMirrored__
|
||||
#define gvaspaceIsMirrored(pVAS) gvaspaceIsMirrored_DISPATCH(pVAS)
|
||||
#define gvaspaceIsFaultCapable_FNPTR(pVAS) pVAS->__gvaspaceIsFaultCapable__
|
||||
#define gvaspaceIsFaultCapable(pVAS) gvaspaceIsFaultCapable_DISPATCH(pVAS)
|
||||
#define gvaspaceIsExternallyOwned_FNPTR(pVAS) pVAS->__gvaspaceIsExternallyOwned__
|
||||
#define gvaspaceIsExternallyOwned(pVAS) gvaspaceIsExternallyOwned_DISPATCH(pVAS)
|
||||
#define gvaspaceIsAtsEnabled_FNPTR(pVAS) pVAS->__gvaspaceIsAtsEnabled__
|
||||
#define gvaspaceIsAtsEnabled(pVAS) gvaspaceIsAtsEnabled_DISPATCH(pVAS)
|
||||
#define gvaspaceGetPasid_FNPTR(pVAS) pVAS->__gvaspaceGetPasid__
|
||||
#define gvaspaceGetPasid(pVAS, pPasid) gvaspaceGetPasid_DISPATCH(pVAS, pPasid)
|
||||
#define gvaspaceGetPageDirBase_FNPTR(pVAS) pVAS->__gvaspaceGetPageDirBase__
|
||||
#define gvaspaceGetPageDirBase(pVAS, pGpu) gvaspaceGetPageDirBase_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspaceGetKernelPageDirBase_FNPTR(pVAS) pVAS->__gvaspaceGetKernelPageDirBase__
|
||||
#define gvaspaceGetKernelPageDirBase(pVAS, pGpu) gvaspaceGetKernelPageDirBase_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspacePinRootPageDir_FNPTR(pVAS) pVAS->__gvaspacePinRootPageDir__
|
||||
#define gvaspacePinRootPageDir(pVAS, pGpu) gvaspacePinRootPageDir_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspaceUnpinRootPageDir_FNPTR(pVAS) pVAS->__gvaspaceUnpinRootPageDir__
|
||||
#define gvaspaceUnpinRootPageDir(pVAS, pGpu) gvaspaceUnpinRootPageDir_DISPATCH(pVAS, pGpu)
|
||||
#define gvaspaceInvalidateTlb_FNPTR(pVAS) pVAS->__gvaspaceInvalidateTlb__
|
||||
#define gvaspaceInvalidateTlb(pVAS, pGpu, type) gvaspaceInvalidateTlb_DISPATCH(pVAS, pGpu, type)
|
||||
#define gvaspaceGetVasInfo_FNPTR(pVAS) pVAS->__gvaspaceGetVasInfo__
|
||||
#define gvaspaceGetVasInfo(pVAS, pParams) gvaspaceGetVasInfo_DISPATCH(pVAS, pParams)
|
||||
#define gvaspaceGetPageTableInfo_FNPTR(pVAS) pVAS->__gvaspaceGetPageTableInfo__
|
||||
#define gvaspaceGetPageTableInfo(pVAS, pParams) gvaspaceGetPageTableInfo_DISPATCH(pVAS, pParams)
|
||||
#define gvaspaceGetPteInfo_FNPTR(pVAS) pVAS->__gvaspaceGetPteInfo__
|
||||
#define gvaspaceGetPteInfo(pVAS, pGpu, pParams, pPhysAddr) gvaspaceGetPteInfo_DISPATCH(pVAS, pGpu, pParams, pPhysAddr)
|
||||
#define gvaspaceSetPteInfo_FNPTR(pVAS) pVAS->__gvaspaceSetPteInfo__
|
||||
#define gvaspaceSetPteInfo(pVAS, pGpu, pParams) gvaspaceSetPteInfo_DISPATCH(pVAS, pGpu, pParams)
|
||||
#define gvaspaceFreeV2_FNPTR(pGVAS) pGVAS->__gvaspaceFreeV2__
|
||||
#define gvaspaceFreeV2(pGVAS, vAddr, pSize) gvaspaceFreeV2_DISPATCH(pGVAS, vAddr, pSize)
|
||||
#define gvaspaceGetVaStart_FNPTR(pVAS) pVAS->__nvoc_base_OBJVASPACE.__vaspaceGetVaStart__
|
||||
#define gvaspaceGetVaStart(pVAS) gvaspaceGetVaStart_DISPATCH(pVAS)
|
||||
#define gvaspaceGetVaLimit_FNPTR(pVAS) pVAS->__nvoc_base_OBJVASPACE.__vaspaceGetVaLimit__
|
||||
#define gvaspaceGetVaLimit(pVAS) gvaspaceGetVaLimit_DISPATCH(pVAS)
|
||||
|
||||
// Dispatch functions
|
||||
static inline NV_STATUS gvaspaceConstruct__DISPATCH(struct OBJGVASPACE *pGVAS, NvU32 classId, NvU32 vaspaceId, NvU64 vaStart, NvU64 vaLimit, NvU64 vaStartInternal, NvU64 vaLimitInternal, NvU32 flags) {
|
||||
return pGVAS->__gvaspaceConstruct___(pGVAS, classId, vaspaceId, vaStart, vaLimit, vaStartInternal, vaLimitInternal, flags);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceReserveMempool_IMPL(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, struct Device *pDevice, NvU64 size, NvU64 pageSizeLockMask, NvU32 flags);
|
||||
|
||||
static inline NV_STATUS gvaspaceReserveMempool_DISPATCH(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, struct Device *pDevice, NvU64 size, NvU64 pageSizeLockMask, NvU32 flags) {
|
||||
return pGVAS->__gvaspaceReserveMempool__(pGVAS, pGpu, pDevice, size, pageSizeLockMask, flags);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceAlloc_IMPL(struct OBJGVASPACE *pVAS, NvU64 size, NvU64 align, NvU64 rangeLo, NvU64 rangeHi, NvU64 pageSizeLockMask, VAS_ALLOC_FLAGS flags, NvU64 *pAddr);
|
||||
|
||||
static inline NV_STATUS gvaspaceAlloc_DISPATCH(struct OBJGVASPACE *pVAS, NvU64 size, NvU64 align, NvU64 rangeLo, NvU64 rangeHi, NvU64 pageSizeLockMask, VAS_ALLOC_FLAGS flags, NvU64 *pAddr) {
|
||||
return pVAS->__gvaspaceAlloc__(pVAS, size, align, rangeLo, rangeHi, pageSizeLockMask, flags, pAddr);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceFree_IMPL(struct OBJGVASPACE *pVAS, NvU64 vAddr);
|
||||
|
||||
static inline NV_STATUS gvaspaceFree_DISPATCH(struct OBJGVASPACE *pVAS, NvU64 vAddr) {
|
||||
return pVAS->__gvaspaceFree__(pVAS, vAddr);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceApplyDefaultAlignment_IMPL(struct OBJGVASPACE *pVAS, const FB_ALLOC_INFO *pAllocInfo, NvU64 *pAlign, NvU64 *pSize, NvU64 *pPageSizeLockMask);
|
||||
|
||||
static inline NV_STATUS gvaspaceApplyDefaultAlignment_DISPATCH(struct OBJGVASPACE *pVAS, const FB_ALLOC_INFO *pAllocInfo, NvU64 *pAlign, NvU64 *pSize, NvU64 *pPageSizeLockMask) {
|
||||
return pVAS->__gvaspaceApplyDefaultAlignment__(pVAS, pAllocInfo, pAlign, pSize, pPageSizeLockMask);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceIncAllocRefCnt_IMPL(struct OBJGVASPACE *pVAS, NvU64 vAddr);
|
||||
|
||||
static inline NV_STATUS gvaspaceIncAllocRefCnt_DISPATCH(struct OBJGVASPACE *pVAS, NvU64 vAddr) {
|
||||
return pVAS->__gvaspaceIncAllocRefCnt__(pVAS, vAddr);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceMap_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, const NvU64 vaLo, const NvU64 vaHi, const MMU_MAP_TARGET *pTarget, const VAS_MAP_FLAGS flags);
|
||||
|
||||
static inline NV_STATUS gvaspaceMap_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, const NvU64 vaLo, const NvU64 vaHi, const MMU_MAP_TARGET *pTarget, const VAS_MAP_FLAGS flags) {
|
||||
return pVAS->__gvaspaceMap__(pVAS, pGpu, vaLo, vaHi, pTarget, flags);
|
||||
}
|
||||
|
||||
void gvaspaceUnmap_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, const NvU64 vaLo, const NvU64 vaHi);
|
||||
|
||||
static inline void gvaspaceUnmap_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, const NvU64 vaLo, const NvU64 vaHi) {
|
||||
pVAS->__gvaspaceUnmap__(pVAS, pGpu, vaLo, vaHi);
|
||||
}
|
||||
|
||||
struct OBJEHEAP *gvaspaceGetHeap_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline struct OBJEHEAP *gvaspaceGetHeap_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
static inline struct OBJEHEAP * gvaspaceGetHeap_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceGetHeap__(pVAS);
|
||||
}
|
||||
|
||||
NvU64 gvaspaceGetMapPageSize_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, struct EMEMBLOCK *pMemBlock);
|
||||
|
||||
static inline NvU64 gvaspaceGetMapPageSize_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, struct EMEMBLOCK *pMemBlock) {
|
||||
return pVAS->__gvaspaceGetMapPageSize__(pVAS, pGpu, pMemBlock);
|
||||
}
|
||||
|
||||
NvU64 gvaspaceGetBigPageSize_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline NvU64 gvaspaceGetBigPageSize_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceGetBigPageSize__(pVAS);
|
||||
}
|
||||
|
||||
NvU32 gvaspaceGetFlags_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline NvU32 gvaspaceGetFlags_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceGetFlags__(pVAS);
|
||||
}
|
||||
|
||||
NvBool gvaspaceIsMirrored_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline NvBool gvaspaceIsMirrored_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceIsMirrored__(pVAS);
|
||||
}
|
||||
|
||||
NvBool gvaspaceIsFaultCapable_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline NvBool gvaspaceIsFaultCapable_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceIsFaultCapable__(pVAS);
|
||||
}
|
||||
|
||||
NvBool gvaspaceIsExternallyOwned_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline NvBool gvaspaceIsExternallyOwned_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceIsExternallyOwned__(pVAS);
|
||||
}
|
||||
|
||||
NvBool gvaspaceIsAtsEnabled_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
static inline NvBool gvaspaceIsAtsEnabled_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceIsAtsEnabled__(pVAS);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceGetPasid_IMPL(struct OBJGVASPACE *pVAS, NvU32 *pPasid);
|
||||
|
||||
static inline NV_STATUS gvaspaceGetPasid_DISPATCH(struct OBJGVASPACE *pVAS, NvU32 *pPasid) {
|
||||
return pVAS->__gvaspaceGetPasid__(pVAS, pPasid);
|
||||
}
|
||||
|
||||
PMEMORY_DESCRIPTOR gvaspaceGetPageDirBase_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
static inline PMEMORY_DESCRIPTOR gvaspaceGetPageDirBase_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu) {
|
||||
return pVAS->__gvaspaceGetPageDirBase__(pVAS, pGpu);
|
||||
}
|
||||
|
||||
PMEMORY_DESCRIPTOR gvaspaceGetKernelPageDirBase_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
static inline PMEMORY_DESCRIPTOR gvaspaceGetKernelPageDirBase_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu) {
|
||||
return pVAS->__gvaspaceGetKernelPageDirBase__(pVAS, pGpu);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspacePinRootPageDir_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
static inline NV_STATUS gvaspacePinRootPageDir_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu) {
|
||||
return pVAS->__gvaspacePinRootPageDir__(pVAS, pGpu);
|
||||
}
|
||||
|
||||
void gvaspaceUnpinRootPageDir_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
static inline void gvaspaceUnpinRootPageDir_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu) {
|
||||
pVAS->__gvaspaceUnpinRootPageDir__(pVAS, pGpu);
|
||||
}
|
||||
|
||||
void gvaspaceInvalidateTlb_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, VAS_PTE_UPDATE_TYPE type);
|
||||
|
||||
static inline void gvaspaceInvalidateTlb_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, VAS_PTE_UPDATE_TYPE type) {
|
||||
pVAS->__gvaspaceInvalidateTlb__(pVAS, pGpu, type);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceGetVasInfo_IMPL(struct OBJGVASPACE *pVAS, NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS *pParams);
|
||||
|
||||
static inline NV_STATUS gvaspaceGetVasInfo_DISPATCH(struct OBJGVASPACE *pVAS, NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS *pParams) {
|
||||
return pVAS->__gvaspaceGetVasInfo__(pVAS, pParams);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceGetPageTableInfo_IMPL(struct OBJGVASPACE *pVAS, NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS *pParams);
|
||||
|
||||
static inline NV_STATUS gvaspaceGetPageTableInfo_DISPATCH(struct OBJGVASPACE *pVAS, NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS *pParams) {
|
||||
return pVAS->__gvaspaceGetPageTableInfo__(pVAS, pParams);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceGetPteInfo_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS *pParams, RmPhysAddr *pPhysAddr);
|
||||
|
||||
static inline NV_STATUS gvaspaceGetPteInfo_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS *pParams, RmPhysAddr *pPhysAddr) {
|
||||
return pVAS->__gvaspaceGetPteInfo__(pVAS, pGpu, pParams, pPhysAddr);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceSetPteInfo_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS *pParams);
|
||||
|
||||
static inline NV_STATUS gvaspaceSetPteInfo_DISPATCH(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS *pParams) {
|
||||
return pVAS->__gvaspaceSetPteInfo__(pVAS, pGpu, pParams);
|
||||
}
|
||||
|
||||
NV_STATUS gvaspaceFreeV2_IMPL(struct OBJGVASPACE *pGVAS, NvU64 vAddr, NvU64 *pSize);
|
||||
|
||||
static inline NV_STATUS gvaspaceFreeV2_DISPATCH(struct OBJGVASPACE *pGVAS, NvU64 vAddr, NvU64 *pSize) {
|
||||
return pGVAS->__gvaspaceFreeV2__(pGVAS, vAddr, pSize);
|
||||
}
|
||||
|
||||
static inline NvU64 gvaspaceGetVaStart_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceGetVaStart__(pVAS);
|
||||
}
|
||||
|
||||
static inline NvU64 gvaspaceGetVaLimit_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceGetVaLimit__(pVAS);
|
||||
}
|
||||
|
||||
static inline NvU64 gvaspaceGetVaStart_DISPATCH(struct OBJGVASPACE *pVAS) {
|
||||
return pVAS->__gvaspaceGetVaStart__(pVAS);
|
||||
}
|
||||
NV_STATUS gvaspaceConstruct__IMPL(struct OBJGVASPACE *pGVAS, NvU32 classId, NvU32 vaspaceId, NvU64 vaStart, NvU64 vaLimit, NvU64 vaStartInternal, NvU64 vaLimitInternal, NvU32 flags);
|
||||
|
||||
NV_STATUS gvaspaceReserveMempool_IMPL(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, struct Device *pDevice, NvU64 size, NvU64 pageSizeLockMask, NvU32 flags);
|
||||
|
||||
NV_STATUS gvaspaceAlloc_IMPL(struct OBJGVASPACE *pVAS, NvU64 size, NvU64 align, NvU64 rangeLo, NvU64 rangeHi, NvU64 pageSizeLockMask, VAS_ALLOC_FLAGS flags, NvU64 *pAddr);
|
||||
|
||||
NV_STATUS gvaspaceFree_IMPL(struct OBJGVASPACE *pVAS, NvU64 vAddr);
|
||||
|
||||
NV_STATUS gvaspaceApplyDefaultAlignment_IMPL(struct OBJGVASPACE *pVAS, const FB_ALLOC_INFO *pAllocInfo, NvU64 *pAlign, NvU64 *pSize, NvU64 *pPageSizeLockMask);
|
||||
|
||||
NV_STATUS gvaspaceIncAllocRefCnt_IMPL(struct OBJGVASPACE *pVAS, NvU64 vAddr);
|
||||
|
||||
NV_STATUS gvaspaceMap_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, const NvU64 vaLo, const NvU64 vaHi, const MMU_MAP_TARGET *pTarget, const VAS_MAP_FLAGS flags);
|
||||
|
||||
void gvaspaceUnmap_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, const NvU64 vaLo, const NvU64 vaHi);
|
||||
|
||||
struct OBJEHEAP *gvaspaceGetHeap_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NvU64 gvaspaceGetMapPageSize_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, struct EMEMBLOCK *pMemBlock);
|
||||
|
||||
NvU64 gvaspaceGetBigPageSize_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NvU32 gvaspaceGetFlags_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NvBool gvaspaceIsMirrored_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NvBool gvaspaceIsFaultCapable_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NvBool gvaspaceIsExternallyOwned_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NvBool gvaspaceIsAtsEnabled_IMPL(struct OBJGVASPACE *pVAS);
|
||||
|
||||
NV_STATUS gvaspaceGetPasid_IMPL(struct OBJGVASPACE *pVAS, NvU32 *pPasid);
|
||||
|
||||
PMEMORY_DESCRIPTOR gvaspaceGetPageDirBase_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
PMEMORY_DESCRIPTOR gvaspaceGetKernelPageDirBase_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
NV_STATUS gvaspacePinRootPageDir_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
void gvaspaceUnpinRootPageDir_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu);
|
||||
|
||||
void gvaspaceInvalidateTlb_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, VAS_PTE_UPDATE_TYPE type);
|
||||
|
||||
NV_STATUS gvaspaceGetVasInfo_IMPL(struct OBJGVASPACE *pVAS, NV0080_CTRL_DMA_ADV_SCHED_GET_VA_CAPS_PARAMS *pParams);
|
||||
|
||||
NV_STATUS gvaspaceGetPageTableInfo_IMPL(struct OBJGVASPACE *pVAS, NV0080_CTRL_DMA_GET_PDE_INFO_PARAMS *pParams);
|
||||
|
||||
NV_STATUS gvaspaceGetPteInfo_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, NV0080_CTRL_DMA_GET_PTE_INFO_PARAMS *pParams, RmPhysAddr *pPhysAddr);
|
||||
|
||||
NV_STATUS gvaspaceSetPteInfo_IMPL(struct OBJGVASPACE *pVAS, struct OBJGPU *pGpu, NV0080_CTRL_DMA_SET_PTE_INFO_PARAMS *pParams);
|
||||
|
||||
NV_STATUS gvaspaceFreeV2_IMPL(struct OBJGVASPACE *pGVAS, NvU64 vAddr, NvU64 *pSize);
|
||||
|
||||
static inline NvU32 gvaspaceGetReservedVaspaceBase(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu) {
|
||||
if (!((0) && (pGpu))) {
|
||||
@@ -583,11 +635,12 @@ static inline GVAS_GPU_STATE *gvaspaceGetGpuState(struct OBJGVASPACE *pGVAS, str
|
||||
#define gvaspaceGetGpuState(pGVAS, pGpu) gvaspaceGetGpuState_IMPL(pGVAS, pGpu)
|
||||
#endif //__nvoc_gpu_vaspace_h_disabled
|
||||
|
||||
void gvaspaceWalkUserCtxAcquire_IMPL(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, const GVAS_BLOCK *pVASBlock, struct MMU_WALK_USER_CTX *pUserCtx);
|
||||
NV_STATUS gvaspaceWalkUserCtxAcquire_IMPL(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, const GVAS_BLOCK *pVASBlock, struct MMU_WALK_USER_CTX *pUserCtx);
|
||||
|
||||
#ifdef __nvoc_gpu_vaspace_h_disabled
|
||||
static inline void gvaspaceWalkUserCtxAcquire(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, const GVAS_BLOCK *pVASBlock, struct MMU_WALK_USER_CTX *pUserCtx) {
|
||||
static inline NV_STATUS gvaspaceWalkUserCtxAcquire(struct OBJGVASPACE *pGVAS, struct OBJGPU *pGpu, const GVAS_BLOCK *pVASBlock, struct MMU_WALK_USER_CTX *pUserCtx) {
|
||||
NV_ASSERT_FAILED_PRECOMP("OBJGVASPACE was disabled!");
|
||||
return NV_ERR_NOT_SUPPORTED;
|
||||
}
|
||||
#else //__nvoc_gpu_vaspace_h_disabled
|
||||
#define gvaspaceWalkUserCtxAcquire(pGVAS, pGpu, pVASBlock, pUserCtx) gvaspaceWalkUserCtxAcquire_IMPL(pGVAS, pGpu, pVASBlock, pUserCtx)
|
||||
|
||||
Reference in New Issue
Block a user