This API starts the execution of the driver in transaction mode.
All the resulting I/O operations are stored in an internally managed buffer. The user has to explicitly submit the transaction for the driver to execute the I/O operations to configure the device. The transaction instance allocated by this API is tied to the thread ID of the executing context. SubmitTransaction API must be called from the same context with NULL for the TxnInst parameter.
Note: If the ENABLE_AUTO_FLUSH flag is set, the driver will automatically flush the transaction buffer when an API results in Read/MaskPoll/BlockWrite/BlockSet/CmdWrite/RunOp operation. If the DISABLE_AUTO_FLUSH flag is set, the driver will return an error when an API results in Read/MaskPoll/CmdWrite/RunOp operation. In both cases, the user has to call XAie_SubmitTransaction API to flush all the pending I/O operations stored in the command buffer.
Prototype
AieRC XAie_StartTransaction(XAie_DevInst *DevInst, u32 Flags);
Parameters
The following table lists the XAie_StartTransaction
function arguments.
Type | Member | Description |
---|---|---|
XAie_DevInst * | DevInst | Device instance pointer. |
u32 | Flags | Flags passed by the user. XAIE_TRANSACTION_ENABLE/DISBALE_AUTO_FLUSH |
Returns
XAIE_OK
on success and error code on
failure.