The NvMedia DLA NvSciSync API encompasses all NvMediaDla NvSciSync handling functions.
Macros | |
#define | NVMEDIA_DLA_NVSCISYNC_VERSION_MAJOR 1 |
Major version number. More... | |
#define | NVMEDIA_DLA_NVSCISYNC_VERSION_MINOR 6 |
Minor version number. More... | |
#define | NVMEDIA_DLA_NVSCISYNC_VERSION_PATCH 0 |
Patch version number. More... | |
#define | NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES (8U) |
NvMediaDlaInsertPreNvSciSyncFence API can be called at most NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES times before each Dla submit call. More... | |
#define NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES (8U) |
NvMediaDlaInsertPreNvSciSyncFence API can be called at most NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES times before each Dla submit call.
Definition at line 54 of file nvmedia_dla_nvscisync.h.
#define NVMEDIA_DLA_NVSCISYNC_VERSION_MAJOR 1 |
Major version number.
Definition at line 44 of file nvmedia_dla_nvscisync.h.
#define NVMEDIA_DLA_NVSCISYNC_VERSION_MINOR 6 |
Minor version number.
Definition at line 46 of file nvmedia_dla_nvscisync.h.
#define NVMEDIA_DLA_NVSCISYNC_VERSION_PATCH 0 |
Patch version number.
Definition at line 48 of file nvmedia_dla_nvscisync.h.
NvMediaStatus NvMediaDlaFillNvSciSyncAttrList | ( | const NvMediaDla * | dla, |
NvSciSyncAttrList | attrlist, | ||
NvMediaNvSciSyncClientType | clienttype | ||
) |
Fills the NvMediaDla specific NvSciSync attributes.
This function updates the input NvSciSyncAttrList with values equivalent to the following public attribute key-values: NvSciSyncAttrKey_RequiredPerm set to
The application must not set these attributes in the NvSciSyncAttrList passed as an input to this function.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in,out] | attrlist | A pointer to an NvSciSyncAttrList structure where NvMedia places NvSciSync attributes. Input range: A non-null pointer created by NvSciSyncAttrListCreate(). Output range: A non-null pointer to an NvSciSyncAttrList. |
[in] | clienttype | Indicates whether the attrlist is requested for an NvMediaDla signaler or an NvMediaDla waiter or an NvMediaDla signaler-waiter. Input range: Any enum value defined by NvMediaNvSciSyncClientType. |
Usage considerations
NvMediaStatus NvMediaDlaFillNvSciSyncDeterministicAttrList | ( | const NvMediaDla * | dla, |
NvSciSyncAttrList | attrlist, | ||
NvMediaNvSciSyncClientType | clienttype | ||
) |
Fills the NvMediaDla specific NvSciSync deterministic attributes.
This function updates the input NvSciSyncAttrList with values equivalent to the following public attribute key-values: NvSciSyncAttrKey_RequiredPerm set to
The application must not set these attributes in the NvSciSyncAttrList passed as an input to this function.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in,out] | attrlist | A pointer to an NvSciSyncAttrList structure where NvMedia places NvSciSync attributes. Input range: A non-null pointer created by NvSciSyncAttrListCreate(). Output range: A non-null pointer to an NvSciSyncAttrList. |
[in] | clienttype | Indicates whether the attrlist is requested for an NvMediaDla signaler or an NvMediaDla waiter. Input range: Any enum value defined by NvMediaNvSciSyncClientType. |
Usage considerations
NvMediaStatus NvMediaDlaGetEOFNvSciSyncFence | ( | const NvMediaDla * | dla, |
NvSciSyncObj | eofnvscisyncobj, | ||
NvSciSyncFence * | eofnvscisyncfence | ||
) |
Gets an EOF NvSciSyncFence for a DLA submit operation.
An EOF NvSciSyncFence is associated with a DLA submit operation and its expiry indicates that the corresponding DLA submit operation has finished. NvMediaDlaGetEOFNvSciSyncFence returns the EOF NvSciSyncFence associated with the last DLA submit call.
If you use NvMediaDlaGetEOFNvSciSyncFence(), you must call it after calling a DLA submit function.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | eofnvscisyncobj | An EOF NvSciSyncObj associated with the NvSciSyncFence being requested. This structure will be modified by this function. Input range: A non-null pointer created by NvSciSyncObjAlloc(). |
[in,out] | eofnvscisyncfence | A pointer to the EOF NvSciSyncFence. Input range: A non-null pointer to NvSciSyncFence. Output range: A non-null pointer to NvSciSyncFence. |
Usage considerations
NvMediaStatus NvMediaDlaGetSOFNvSciSyncFence | ( | const NvMediaDla * | dla, |
NvSciSyncObj | sofnvscisyncobj, | ||
NvSciSyncFence * | sofnvscisyncfence | ||
) |
Gets an SOF NvSciSyncFence for a DLA submit operation.
An SOF NvSciSyncFence is associated with a DLA submit operation, and its expiry indicates that the corresponding DLA submit operation has started. NvMediaDlaGetSOFNvSciSyncFence() returns the SOF NvSciSyncFence associated with the last DLA submit call.
If you use NvMediaDlaGetSOFNvSciSyncFence(), you must call it after calling the DLA submit function.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | sofnvscisyncobj | The SOF NvSciSyncObj associated with the NvSciSyncFence being requested. This structure will be modified by this function. Input range: A non-null pointer created by NvSciSyncObjAlloc(). |
[in,out] | sofnvscisyncfence | A pointer to the SOF NvSciSyncFence. Input range: A non-null pointer to NvSciSyncFence. Output range: A non-null pointer to SOF NvSciSyncFence. |
Usage considerations
NvMediaStatus NvMediaDlaInsertEOFNvSciSyncObj | ( | NvMediaDla * | dla, |
NvSciSyncObj | syncObj | ||
) |
Sets NvSciSyncObj as a EOF for a DLA submit operation.
If you use NvMediaDlaInsertEOFNvSciSyncObj(), the application must call it before calling a DLA submit API and before NvSciSyncObj gets signaled by DLA immediately after task execution completion.
You can set a maximum of <TODO> prefences by calling NvMediaDlaInsertEOFNvSciSyncObj() before calling a DLA submit function.
After a call to the DLA submit function, all NvSciSyncFences previously inserted by %NvMediaDlaInsertEOFNvSciSyncObj() are cleared, and they are not reused for subsequent DLA submit calls.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | syncObj | NvSciSyncObj that needs to be used as EOF for current submission. Input range: A non-null NvSciSyncObj that is already registered as NVMEDIA_EOFSYNCOBJ or NVMEDIA_EOF_PRESYNCOBJ. |
Usage considerations
NvMediaStatus NvMediaDlaInsertPreNvSciSyncFence | ( | NvMediaDla * | dla, |
const NvSciSyncFence * | prenvscisyncfence | ||
) |
Sets an NvSciSyncFence as a prefence for a DLA submit operation.
If you use NvMediaDlaInsertPreNvSciSyncFence(), the application must call it before calling a DLA submit API. The following DLA submit operation is started only after the expiry of the prenvscisyncfence.
You can set a maximum of NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES prefences by calling NvMediaDlaInsertPreNvSciSyncFence() before calling a DLA submit function.
After a call to the DLA submit function, all NvSciSyncFences previously inserted by NvMediaDlaInsertPreNvSciSyncFence() are cleared, and they are not reused for subsequent DLA submit calls.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | prenvscisyncfence | A pointer to NvSciSyncFence. Input range: A non-null pointer to NvSciSyncFence. |
Usage considerations
NvMediaStatus NvMediaDlaInsertSOFNvSciSyncObj | ( | NvMediaDla * | dla, |
NvSciSyncObj | syncObj | ||
) |
Sets NvSciSyncObj as a SOF for a DLA submit operation.
If you use NvMediaDlaInsertSOFNvSciSyncObj(), the application must call it before calling a DLA submit API & before NvSciSyncObj gets signaled by DLA prior to the start of execution.
You can set a maximum of <TODO> prefences by calling NvMediaDlaInsertSOFNvSciSyncObj() before calling a DLA submit function.
After a call to the DLA submit function, all NvSciSyncFences previously inserted by %NvMediaDlaInsertSOFNvSciSyncObj() are cleared, and they are not reused for subsequent DLA submit calls.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | syncObj | NvSciSyncObj that needs to be used as SOF for current submission. Input range: A non-null NvSciSyncObj that is already registered as NVMEDIA_SOFSYNCOBJ or NVMEDIA_SOF_PRESYNCOBJ. |
Usage considerations
NvMediaStatus NvMediaDlaNvSciSyncGetVersion | ( | NvMediaVersion * | version | ) |
Returns the version information for the NvMedia DLA NvSciSync library.
[in,out] | version | A pointer to an NvMediaVersion structure filled by the DLA NvSciSync library. Input range: A non-null pointer to an NvMediaVersion. Output range: A non-null pointer to an NvMediaVersion if successful, otherwise the value pointed to by version remains unchanged. |
Usage considerations
NvMediaStatus NvMediaDlaRegisterNvSciSyncObj | ( | NvMediaDla * | dla, |
NvMediaNvSciSyncObjType | syncobjtype, | ||
NvSciSyncObj | nvscisync | ||
) |
Registers an NvSciSyncObj with NvMediaDla.
Every NvSciSyncObj(even duplicate objects) used by NvMediaDla must be registered by a call to this function before it is used. Only the exact same registered NvSciSyncObj can be passed to the run time APIs.
For a given NvMediaDla handle, one NvSciSyncObj can be registered as one NvMediaNvSciSyncObjType only. For each NvMediaNvSciSyncObjType, a maximum of 16 NvSciSyncObj objects can be registered.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | syncobjtype | Determines how nvscisync is used by dla. Input range: Any enum value defined by NvMediaNvSciSyncObjType. |
[in] | nvscisync | The NvSciSyncObj to be registered with dla. Input range: A non-null pointer created by NvSciSyncObjAlloc(). |
Usage considerations
NvMediaStatus NvMediaDlaSetNvSciSyncObjforEOF | ( | NvMediaDla * | dla, |
NvSciSyncObj | nvscisyncEOF | ||
) |
Sets an NvSciSyncObj to be used for a End of Frame (EOF) NvSciSyncFence.
To use NvMediaDlaGetEOFNvSciSyncFence(), the application must call this function before the calling the first DLA submit API. NvMedia DLA currently accepts only one EOF NvSciSyncObj.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | nvscisyncEOF | A registered NvSciSyncObj which is to be associated with EOF NvSciSyncFence. Input range: A non-null pointer created by NvSciSyncObjAlloc(). |
Usage considerations
NvMediaStatus NvMediaDlaSetNvSciSyncObjforSOF | ( | NvMediaDla * | dla, |
NvSciSyncObj | nvscisyncSOF | ||
) |
Sets the NvSciSyncObj to be used for a Start of Frame (SOF) NvSciSyncFence.
To use NvMediaDlaGetSOFNvSciSyncFence(), the application must call this function before the first DLA submit API. NvMedia DlA currently accepts only one SOF NvSciSyncObj.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | nvscisyncSOF | A registered NvSciSyncObj to be associated with SOF NvSciSyncFence. Input range: A non-null pointer created by NvSciSyncObjAlloc(). |
Usage considerations
NvMediaStatus NvMediaDlaUnregisterNvSciSyncObj | ( | NvMediaDla * | dla, |
NvSciSyncObj | scisyncobj | ||
) |
Unregisters an NvSciSyncObj with NvMediaDla.
During teardown, every NvSciSyncObj registered with NvMediaDla must be unregistered before calling NvMediaDlaDestroy().
Before the application calls this function, it must ensure that the application is in teardown mode, and any NvMediaDla operation using this scisyncobj has completed. If the function is called while scisyncobj is still in use by any NvMediaDla operations, the behavior is undefined.
[in] | dla | An NvMedia DLA device handle. Input range: A non-null pointer to an NvMediaDla created with NvMediaDlaCreate(). |
[in] | scisyncobj | An NvSciSyncObj to be unregistered with dla. Input range: A non-null pointer created by NvSciSyncObjAlloc(). |
Usage considerations