|
|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
11 #ifndef NVRM_GPUSCHED_H
12 #define NVRM_GPUSCHED_H
14 #include <sys/types.h>
84 #define NVRM_GPUSCHED_DEFINE_SESSION_ATTR(x) \
85 NvRmGpuSchedSessionAttr x = { 0 }
87 #define NVRM_GPUSCHED_WAIT_INFINITE ((uint32_t)-1)
struct NvRmGpuSchedSessionRec NvRmGpuSchedSession
NvRmGpuSchedRunlistInterleave
@ NVRM_GPUSCHED_STATUS_TIMED_OUT
Operation timed out.
NvRmGpuSchedStatus NvRmGpuSchedGetNextTsgId(NvRmGpuSchedTsgSet *hTsgSet, NvRmGpuSchedTsgId *tsgid)
Get next TSG identifier from a TSG set.
NvRmGpuSchedStatus NvRmGpuSchedGetAllActiveTsgs(NvRmGpuSchedTsgSet *hTsgSet)
Get list of all TSGs.
@ NVRM_GPUSCHED_RUNLIST_INTERLEAVE_MEDIUM
NvRmGpuSchedStatus NvRmGpuSchedSetTsgInterleave(NvRmGpuSchedTsg *hTsg, NvRmGpuSchedRunlistInterleave interleave)
Set runlist interleave for a TSG.
@ NVRM_GPUSCHED_STATUS_OUT_OF_MEMORY
Out of memory.
struct NvRmGpuSchedTsgRec NvRmGpuSchedTsg
@ NVRM_GPUSCHED_STATUS_INVALID_SIZE
Invalid size.
@ NVRM_GPUSCHED_STATUS_INSUFFICIENT_BUFFERING
Insufficient buffering.
uint32_t NvRmGpuSchedTsgId
NvRmGpuSchedStatus NvRmGpuSchedAllocateTsgSet(NvRmGpuSchedSession *hSession, NvRmGpuSchedTsgSet **phSet)
Allocate a TSG set.
@ NVRM_GPUSCHED_RUNLIST_INTERLEAVE_HIGH
@ NVRM_GPUSCHED_STATUS_INCOMPATIBLE_VERSION
Incompatible version.
NvRmGpuSchedStatus
The set of all possible error codes.
@ NVRM_GPUSCHED_RUNLIST_INTERLEAVE_LOW
NvRmGpuSchedStatus NvRmGpuSchedUnlockControl(NvRmGpuSchedSession *hSession)
Unlock GPU scheduling control, to allow other application to change their own scheduling parameters u...
@ NVRM_GPUSCHED_STATUS_BAD_PARAMETER
Bad parameter was passed.
@ NVRM_GPUSCHED_STATUS_NONE_PENDING
No operation is pending.
@ NVRM_GPUSCHED_STATUS_NOT_SUPPORTED
Not supported.
NvRmGpuSchedStatus NvRmGpuSchedGetDeltaTsgs(NvRmGpuSchedTsgSet *hTsgSet)
Get list of recent TSGs.
NvRmGpuSchedStatus NvRmGpuSchedWaitTsgEvents(NvRmGpuSchedSession *hSession, NvRmGpuSchedTsgEvents *events, uint32_t timeout)
Blocking wait on any TSG event.
NvRmGpuSchedStatus NvRmGpuSchedReleaseTsgHandle(NvRmGpuSchedTsg *hTsg)
Release TSG handle.
struct NvRmGpuSchedTsgParamsRec NvRmGpuSchedTsgParams
@ NVRM_GPUSCHED_TSG_EVENT_OPEN
At least one TSG has been opened.
NvRmGpuSchedRunlistInterleave interleave
NvRmGpuSchedTsgEvents
Bitfield of TSG events.
void NvRmGpuSchedSessionClose(NvRmGpuSchedSession *hSession)
Close GPU scheduling control session.
NvRmGpuSchedStatus NvRmGpuSchedLockControl(NvRmGpuSchedSession *hSession)
Lock GPU scheduling control, to prevent other application to change their own scheduling parameters u...
void NvRmGpuSchedFreeTsgSet(NvRmGpuSchedTsgSet *hSet)
Free TSG set.
@ NVRM_GPUSCHED_STATUS_ERROR
A catch-all error, used when no other error code applies.
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
@ NVRM_GPUSCHED_STATUS_OK
The operation completed successfully; no error.
NvRmGpuSchedStatus NvRmGpuSchedSessionOpen(const NvRmGpuSchedSessionAttr *attr, NvRmGpuSchedSession **phSession)
Open GPU scheduling control session.
NvRmGpuSchedStatus NvRmGpuSchedGetTsgsByPid(NvRmGpuSchedTsgSet *hTsgSet, pid_t pid)
Get list of TSGs for a given pid.
NvRmGpuSchedStatus NvRmGpuSchedSetTsgTimeslice(NvRmGpuSchedTsg *hTsg, uint32_t timeslice)
Set timeslice for a TSG.
@ NVRM_GPUSCHED_STATUS_PENDING
Operation has not finished yet.
NvRmGpuSchedStatus NvRmGpuSchedGetTsgHandle(NvRmGpuSchedSession *hSession, NvRmGpuSchedTsgId tsgid, NvRmGpuSchedTsg **phTsg)
Get a handle to a TSG.
struct NvRmGpuSchedTsgSetRec NvRmGpuSchedTsgSet
struct NvRmGpuSchedSessionAttrRec NvRmGpuSchedSessionAttr
@ NVRM_GPUSCHED_STATUS_NOT_INITIALIZED
Not initialized.
NvRmGpuSchedStatus NvRmGpuSchedGetTsgParams(NvRmGpuSchedTsg *hTsg, NvRmGpuSchedTsgParams *params)
Get current GPU scheduling parameters for a TSG.