|
rogue
|
#include <stdint.h>#include <string>#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/fcntl.h>#include <sys/ioctl.h>#include <sys/mman.h>#include <sys/signal.h>#include <sys/socket.h>#include <unistd.h>Go to the source code of this file.
Classes | |
| struct | DmaWriteData |
| Structure representing a DMA write operation. More... | |
| struct | DmaReadData |
| Structure representing a DMA read operation. More... | |
| struct | DmaRegisterData |
| Register data structure. More... | |
Macros | |
| #define | DMA_VERSION 0x06 |
| #define | DMA_ERR_FIFO 0x01 |
| #define | DMA_ERR_LEN 0x02 |
| #define | DMA_ERR_MAX 0x04 |
| #define | DMA_ERR_BUS 0x08 |
| #define | DMA_Get_Buff_Count 0x1001 |
| ioctl command code: get the total number of DMA buffers in the pool. | |
| #define | DMA_Get_Buff_Size 0x1002 |
| ioctl command code: get the size in bytes of each DMA buffer. | |
| #define | DMA_Set_Debug 0x1003 |
| ioctl command code: set the kernel debug verbosity level (0 = off). | |
| #define | DMA_Set_Mask 0x1004 |
| ioctl command code: set the 32-bit destination channel mask (convenience wrapper for single-mask use). | |
| #define | DMA_Ret_Index 0x1005 |
| ioctl command code: return one or more buffer indices to the DMA free pool. The upper 16 bits of the command encode the count: cmd = DMA_Ret_Index | ((count << 16) & 0xFFFF0000). | |
| #define | DMA_Get_Index 0x1006 |
| ioctl command code: get the index of the next available write buffer. | |
| #define | DMA_Read_Ready 0x1007 |
| ioctl command code: check whether a receive frame is pending (returns 1 if data ready). | |
| #define | DMA_Set_MaskBytes 0x1008 |
| ioctl command code: set the destination channel mask using a 512-byte bitmap (DMA_MASK_SIZE bytes). | |
| #define | DMA_Get_Version 0x1009 |
| ioctl command code: get the driver API version integer; compare to DMA_VERSION for compatibility. | |
| #define | DMA_Write_Register 0x100A |
| ioctl command code: write a 32-bit value to a device BAR register; argument is struct DmaRegisterData*. | |
| #define | DMA_Read_Register 0x100B |
| ioctl command code: read a 32-bit value from a device BAR register; argument is struct DmaRegisterData*. | |
| #define | DMA_Get_RxBuff_Count 0x100C |
| ioctl command code: get the total number of receive DMA buffers in the pool. | |
| #define | DMA_Get_TxBuff_Count 0x100D |
| ioctl command code: get the total number of transmit DMA buffers in the pool. | |
| #define | DMA_Get_TxBuffinUser_Count 0x100F |
| ioctl command code: get the count of TX buffers currently held in user space. | |
| #define | DMA_Get_TxBuffinHW_Count 0x1010 |
| ioctl command code: get the count of TX buffers currently submitted to hardware. | |
| #define | DMA_Get_TxBuffinPreHWQ_Count 0x1011 |
| ioctl command code: get the count of TX buffers in the pre-hardware queue. | |
| #define | DMA_Get_TxBuffinSWQ_Count 0x1012 |
| ioctl command code: get the count of TX buffers in the software queue. | |
| #define | DMA_Get_TxBuffMiss_Count 0x1013 |
| ioctl command code: get the TX buffer allocation miss count (buffers requested but unavailable). | |
| #define | DMA_Get_RxBuffinUser_Count 0x1014 |
| ioctl command code: get the count of RX buffers currently held in user space. | |
| #define | DMA_Get_RxBuffinHW_Count 0x1015 |
| ioctl command code: get the count of RX buffers currently submitted to hardware. | |
| #define | DMA_Get_RxBuffinPreHWQ_Count 0x1016 |
| ioctl command code: get the count of RX buffers in the pre-hardware queue. | |
| #define | DMA_Get_RxBuffinSWQ_Count 0x1017 |
| ioctl command code: get the count of RX buffers in the software queue. | |
| #define | DMA_Get_RxBuffMiss_Count 0x1018 |
| ioctl command code: get the RX buffer allocation miss count (buffers requested but unavailable). | |
| #define | DMA_Get_GITV 0x1019 |
| ioctl command code: get the driver git version string into a caller-supplied char[32] buffer. | |
| #define | DMA_MASK_SIZE 512 |
Functions | |
| static ssize_t | dmaWrite (int32_t fd, const void *buf, size_t size, uint32_t flags, uint32_t dest) |
| Writes data to a DMA channel. | |
| static ssize_t | dmaWriteIndex (int32_t fd, uint32_t index, size_t size, uint32_t flags, uint32_t dest) |
| Writes data to a DMA channel using an index. | |
| static ssize_t | dmaWriteVector (int32_t fd, struct iovec *iov, size_t iovlen, uint32_t begFlags, uint32_t midFlags, uint32_t endFlags, uint32_t dest) |
| Writes an array of data frames to a DMA channel. | |
| static ssize_t | dmaWriteIndexVector (int32_t fd, struct iovec *iov, size_t iovlen, uint32_t begFlags, uint32_t midFlags, uint32_t endFlags, uint32_t dest) |
| Write Frame, memory mapped from iovector. | |
| static ssize_t | dmaRead (int32_t fd, void *buf, size_t maxSize, uint32_t *flags, uint32_t *error, uint32_t *dest) |
| Receive Frame. | |
| static ssize_t | dmaReadIndex (int32_t fd, uint32_t *index, uint32_t *flags, uint32_t *error, uint32_t *dest) |
| Receive Frame, access memory mapped buffer. | |
| static ssize_t | dmaReadBulkIndex (int32_t fd, uint32_t count, int32_t *ret, uint32_t *index, uint32_t *flags, uint32_t *error, uint32_t *dest) |
| Receive frame and access memory-mapped buffer. | |
| static ssize_t | dmaRetIndex (int32_t fd, uint32_t index) |
| Post an index back to the DMA. | |
| static ssize_t | dmaRetIndexes (int32_t fd, uint32_t count, uint32_t *indexes) |
| Post multiple indices back to the DMA. | |
| static int32_t | dmaGetIndex (int32_t fd) |
| Get the current write buffer index. | |
| static ssize_t | dmaReadReady (int32_t fd) |
| Check if read is ready. | |
| static ssize_t | dmaGetRxBuffCount (int32_t fd) |
| Get the receive buffer count. | |
| static ssize_t | dmaGetRxBuffinUserCount (int32_t fd) |
| Get the receive buffer count in user. | |
| static ssize_t | dmaGetRxBuffinHwCount (int32_t fd) |
| Get the receive buffer count in hardware. | |
| static ssize_t | dmaGetRxBuffinPreHwQCount (int32_t fd) |
| Get the receive buffer count in pre-hardware queue. | |
| static ssize_t | dmaGetRxBuffinSwQCount (int32_t fd) |
| Get the receive buffer count in software queue. | |
| static ssize_t | dmaGetRxBuffMissCount (int32_t fd) |
| Get the receive buffer missing count. | |
| static ssize_t | dmaGetTxBuffCount (int32_t fd) |
| Get the transmit buffer count. | |
| static ssize_t | dmaGetTxBuffinUserCount (int32_t fd) |
| Get the transmit buffer count in user. | |
| static ssize_t | dmaGetTxBuffinHwCount (int32_t fd) |
| Get the transmit buffer count in hardware. | |
| static ssize_t | dmaGetTxBuffinPreHwQCount (int32_t fd) |
| Get the transmit buffer count in pre-hardware queue. | |
| static ssize_t | dmaGetTxBuffinSwQCount (int32_t fd) |
| Get the transmit buffer count in software queue. | |
| static ssize_t | dmaGetTxBuffMissCount (int32_t fd) |
| Get the transmit buffer missing count. | |
| static ssize_t | dmaGetBuffSize (int32_t fd) |
| Get the buffer size. | |
| static ssize_t | dmaGetBuffCount (int32_t fd) |
| Get the buffer count. | |
| static std::string | dmaGetGitVersion (int32_t fd) |
| Get the DMA Driver's Git Version. | |
| static void ** | dmaMapDma (int32_t fd, uint32_t *count, uint32_t *size) |
| Map user space to DMA buffers. | |
| static ssize_t | dmaUnMapDma (int32_t fd, void **buffer) |
| Unmap user space from DMA buffers. | |
| static ssize_t | dmaSetDebug (int32_t fd, uint32_t level) |
| Set debugging level for DMA operations. | |
| static void | dmaAssignHandler (int32_t fd, void(*handler)(int32_t)) |
| Assign a signal handler for asynchronous DMA operations. | |
| static ssize_t | dmaSetMask (int32_t fd, uint32_t mask) |
| Set DMA mask. | |
| static void | dmaInitMaskBytes (uint8_t *mask) |
| Initialize DMA mask byte array. | |
| static void | dmaAddMaskBytes (uint8_t *mask, uint32_t dest) |
| Add a destination to the DMA mask byte array. | |
| static ssize_t | dmaSetMaskBytes (int32_t fd, uint8_t *mask) |
| Set mask byte array to the driver. | |
| static ssize_t | dmaCheckVersion (int32_t fd) |
| Check API version of the DMA driver. | |
| static ssize_t | dmaGetApiVersion (int32_t fd) |
| Get API version of the DMA driver. | |
| static ssize_t | dmaWriteRegister (int32_t fd, uint64_t address, uint32_t data) |
| Write to a DMA register. | |
| static ssize_t | dmaReadRegister (int32_t fd, uint64_t address, uint32_t *data) |
| Read a value from a DMA register. | |
| static void * | dmaMapRegister (int32_t fd, off_t offset, uint32_t size) |
| Map a DMA register space to user space. | |
| static ssize_t | dmaUnMapRegister (int32_t fd, void *ptr, uint32_t size) |
| Unmap a DMA register space from user space. | |
| #define DMA_ERR_BUS 0x08 |
Definition at line 40 of file DmaDriver.h.
| #define DMA_ERR_FIFO 0x01 |
Definition at line 37 of file DmaDriver.h.
| #define DMA_ERR_LEN 0x02 |
Definition at line 38 of file DmaDriver.h.
| #define DMA_ERR_MAX 0x04 |
Definition at line 39 of file DmaDriver.h.
| #define DMA_Get_Buff_Count 0x1001 |
ioctl command code: get the total number of DMA buffers in the pool.
Definition at line 45 of file DmaDriver.h.
| #define DMA_Get_Buff_Size 0x1002 |
ioctl command code: get the size in bytes of each DMA buffer.
Definition at line 48 of file DmaDriver.h.
| #define DMA_Get_GITV 0x1019 |
ioctl command code: get the driver git version string into a caller-supplied char[32] buffer.
Definition at line 115 of file DmaDriver.h.
| #define DMA_Get_Index 0x1006 |
ioctl command code: get the index of the next available write buffer.
Definition at line 61 of file DmaDriver.h.
| #define DMA_Get_RxBuff_Count 0x100C |
ioctl command code: get the total number of receive DMA buffers in the pool.
Definition at line 79 of file DmaDriver.h.
| #define DMA_Get_RxBuffinHW_Count 0x1015 |
ioctl command code: get the count of RX buffers currently submitted to hardware.
Definition at line 103 of file DmaDriver.h.
| #define DMA_Get_RxBuffinPreHWQ_Count 0x1016 |
ioctl command code: get the count of RX buffers in the pre-hardware queue.
Definition at line 106 of file DmaDriver.h.
| #define DMA_Get_RxBuffinSWQ_Count 0x1017 |
ioctl command code: get the count of RX buffers in the software queue.
Definition at line 109 of file DmaDriver.h.
| #define DMA_Get_RxBuffinUser_Count 0x1014 |
ioctl command code: get the count of RX buffers currently held in user space.
Definition at line 100 of file DmaDriver.h.
| #define DMA_Get_RxBuffMiss_Count 0x1018 |
ioctl command code: get the RX buffer allocation miss count (buffers requested but unavailable).
Definition at line 112 of file DmaDriver.h.
| #define DMA_Get_TxBuff_Count 0x100D |
ioctl command code: get the total number of transmit DMA buffers in the pool.
Definition at line 82 of file DmaDriver.h.
| #define DMA_Get_TxBuffinHW_Count 0x1010 |
ioctl command code: get the count of TX buffers currently submitted to hardware.
Definition at line 88 of file DmaDriver.h.
| #define DMA_Get_TxBuffinPreHWQ_Count 0x1011 |
ioctl command code: get the count of TX buffers in the pre-hardware queue.
Definition at line 91 of file DmaDriver.h.
| #define DMA_Get_TxBuffinSWQ_Count 0x1012 |
ioctl command code: get the count of TX buffers in the software queue.
Definition at line 94 of file DmaDriver.h.
| #define DMA_Get_TxBuffinUser_Count 0x100F |
ioctl command code: get the count of TX buffers currently held in user space.
Definition at line 85 of file DmaDriver.h.
| #define DMA_Get_TxBuffMiss_Count 0x1013 |
ioctl command code: get the TX buffer allocation miss count (buffers requested but unavailable).
Definition at line 97 of file DmaDriver.h.
| #define DMA_Get_Version 0x1009 |
ioctl command code: get the driver API version integer; compare to DMA_VERSION for compatibility.
Definition at line 70 of file DmaDriver.h.
| #define DMA_MASK_SIZE 512 |
Definition at line 118 of file DmaDriver.h.
| #define DMA_Read_Ready 0x1007 |
ioctl command code: check whether a receive frame is pending (returns 1 if data ready).
Definition at line 64 of file DmaDriver.h.
| #define DMA_Read_Register 0x100B |
ioctl command code: read a 32-bit value from a device BAR register; argument is struct DmaRegisterData*.
Definition at line 76 of file DmaDriver.h.
| #define DMA_Ret_Index 0x1005 |
ioctl command code: return one or more buffer indices to the DMA free pool. The upper 16 bits of the command encode the count: cmd = DMA_Ret_Index | ((count << 16) & 0xFFFF0000).
Definition at line 58 of file DmaDriver.h.
| #define DMA_Set_Debug 0x1003 |
ioctl command code: set the kernel debug verbosity level (0 = off).
Definition at line 51 of file DmaDriver.h.
| #define DMA_Set_Mask 0x1004 |
ioctl command code: set the 32-bit destination channel mask (convenience wrapper for single-mask use).
Definition at line 54 of file DmaDriver.h.
| #define DMA_Set_MaskBytes 0x1008 |
ioctl command code: set the destination channel mask using a 512-byte bitmap (DMA_MASK_SIZE bytes).
Definition at line 67 of file DmaDriver.h.
| #define DMA_VERSION 0x06 |
Description: This header file defines the interfaces and data structures used by DMA (Direct Memory Access) drivers in the aes_stream_drivers package. These drivers facilitate efficient data transfer between memory and devices without requiring CPU intervention, improving throughput and
This file is part of the aes_stream_drivers package. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the aes_stream_drivers package, including this file, may be copied, modified, propagated, or distributed except according to the terms
Definition at line 34 of file DmaDriver.h.
| #define DMA_Write_Register 0x100A |
ioctl command code: write a 32-bit value to a device BAR register; argument is struct DmaRegisterData*.
Definition at line 73 of file DmaDriver.h.
|
inlinestatic |
Add a destination to the DMA mask byte array.
Adds a destination to the DMA mask byte array by setting the appropriate bit based on the destination index.
| mask | Pointer to the DMA mask byte array. |
| dest | Destination index to set in the mask. |
Definition at line 881 of file DmaDriver.h.
|
inlinestatic |
Assign a signal handler for asynchronous DMA operations.
This function sets up a signal action structure to handle SIGIO signals with the specified handler function. It also sets the file descriptor to receive signals for asynchronous I/O.
| fd | File descriptor for the DMA device. |
| handler | Function pointer to the signal handler. |
Definition at line 831 of file DmaDriver.h.
|
inlinestatic |
Check API version of the DMA driver.
Checks the API version of the DMA driver to ensure compatibility.
| fd | File descriptor for the DMA device. |
Definition at line 915 of file DmaDriver.h.
|
inlinestatic |
Get API version of the DMA driver.
Get the API version of the DMA driver
| fd | File descriptor for the DMA device. |
Definition at line 930 of file DmaDriver.h.
|
inlinestatic |
Get the buffer count.
This function retrieves the count of DMA buffers.
| fd | File descriptor to use. |
Definition at line 714 of file DmaDriver.h.
|
inlinestatic |
Get the buffer size.
This function retrieves the size of DMA buffers.
| fd | File descriptor to use. |
Definition at line 701 of file DmaDriver.h.
|
inlinestatic |
Get the DMA Driver's Git Version.
This function retrieves the DMA Driver's Git Version string
| fd | File descriptor to use. |
Definition at line 727 of file DmaDriver.h.
|
inlinestatic |
Get the current write buffer index.
This function retrieves the current index for writing to the DMA buffer.
| fd | File descriptor to use. |
Definition at line 519 of file DmaDriver.h.
|
inlinestatic |
Get the receive buffer count.
This function retrieves the count of receive buffers available.
| fd | File descriptor to use. |
Definition at line 545 of file DmaDriver.h.
|
inlinestatic |
Get the receive buffer count in hardware.
This function retrieves the count of receive buffers in hardware.
| fd | File descriptor to use. |
Definition at line 571 of file DmaDriver.h.
|
inlinestatic |
Get the receive buffer count in pre-hardware queue.
This function retrieves the count of receive buffers in pre-hardware queue
| fd | File descriptor to use. |
Definition at line 584 of file DmaDriver.h.
|
inlinestatic |
Get the receive buffer count in software queue.
This function retrieves the count of receive buffers in software queue
| fd | File descriptor to use. |
Definition at line 597 of file DmaDriver.h.
|
inlinestatic |
Get the receive buffer count in user.
This function retrieves the count of receive buffers in user.
| fd | File descriptor to use. |
Definition at line 558 of file DmaDriver.h.
|
inlinestatic |
Get the receive buffer missing count.
This function retrieves the count of receive buffer missing
| fd | File descriptor to use. |
Definition at line 610 of file DmaDriver.h.
|
inlinestatic |
Get the transmit buffer count.
This function retrieves the count of transmit buffers available.
| fd | File descriptor to use. |
Definition at line 623 of file DmaDriver.h.
|
inlinestatic |
Get the transmit buffer count in hardware.
This function retrieves the count of transmit buffers in hardware.
| fd | File descriptor to use. |
Definition at line 649 of file DmaDriver.h.
|
inlinestatic |
Get the transmit buffer count in pre-hardware queue.
This function retrieves the count of transmit buffers in pre-hardware queue
| fd | File descriptor to use. |
Definition at line 662 of file DmaDriver.h.
|
inlinestatic |
Get the transmit buffer count in software queue.
This function retrieves the count of transmit buffers in software queue
| fd | File descriptor to use. |
Definition at line 675 of file DmaDriver.h.
|
inlinestatic |
Get the transmit buffer count in user.
This function retrieves the count of transmit buffers in user.
| fd | File descriptor to use. |
Definition at line 636 of file DmaDriver.h.
|
inlinestatic |
Get the transmit buffer missing count.
This function retrieves the count of transmit buffer missing
| fd | File descriptor to use. |
Definition at line 688 of file DmaDriver.h.
|
inlinestatic |
Initialize DMA mask byte array.
Initializes the DMA mask byte array to zeros.
| mask | Pointer to the DMA mask byte array. |
Definition at line 867 of file DmaDriver.h.
|
inlinestatic |
Map user space to DMA buffers.
This function maps DMA buffers into user space, allowing direct access.
| fd | File descriptor to use. |
| count | Pointer to store the count of buffers. |
| size | Pointer to store the size of each buffer. |
Definition at line 747 of file DmaDriver.h.
|
inlinestatic |
Map a DMA register space to user space.
This function calculates an internal offset based on the buffer size and count obtained from the DMA device. It then attempts to map a region of memory into the user space corresponding to this calculated offset plus the specified offset.
| fd | File descriptor for the DMA device. |
| offset | Offset from the start of the register space to be mapped. |
| size | Size of the memory region to map. |
Definition at line 995 of file DmaDriver.h.
|
inlinestatic |
Receive Frame.
This function reads a frame from a device using DMA.
| fd | File descriptor for DMA operation. |
| buf | Buffer to store received data. |
| maxSize | Maximum size to read. |
| flags | Pointer to store flags after reading. |
| error | Pointer to store error code if any. |
| dest | Pointer to store destination address. |
Definition at line 380 of file DmaDriver.h.
|
inlinestatic |
Receive frame and access memory-mapped buffer.
This function reads bulk data from a DMA channel and extracts the metadata associated with each read operation, including return values, indices, flags, error codes, and destination addresses.
| fd | File descriptor to read from. |
| count | Number of elements in the buffers. |
| ret | Pointer to store the return values. |
| index | Buffer to store the indices of the DMA read operations. |
| flags | Buffer to store flags of the DMA read operations. |
| error | Buffer to store error codes of the DMA read operations. |
| dest | Buffer to store destination addresses of the DMA read operations. |
Definition at line 449 of file DmaDriver.h.
|
inlinestatic |
Receive Frame, access memory mapped buffer.
This function reads a frame from a device using DMA, specifically accessing the memory-mapped buffer and retrieves the index of the received data.
| fd | File descriptor for DMA operation. |
| index | Pointer to store the index of the received data. |
| flags | Pointer to store flags after reading. |
| error | Pointer to store error code if any. |
| dest | Pointer to store destination address. |
Definition at line 414 of file DmaDriver.h.
|
inlinestatic |
Check if read is ready.
This function checks if the DMA is ready for reading.
| fd | File descriptor to use. |
Definition at line 532 of file DmaDriver.h.
|
inlinestatic |
Read a value from a DMA register.
This function reads a 32-bit value from a specified DMA register address. The read value is stored in the location pointed to by data if data is not NULL.
| fd | File descriptor for the DMA device. |
| address | The address of the register to be read. |
| data | Pointer to store the read data. |
Definition at line 965 of file DmaDriver.h.
|
inlinestatic |
Post an index back to the DMA.
This function posts a single index back to the DMA, indicating that the buffer associated with this index can be reused.
| fd | File descriptor to use. |
| index | Index to be returned. |
Definition at line 486 of file DmaDriver.h.
|
inlinestatic |
Post multiple indices back to the DMA.
This function posts multiple indices back to the DMA, indicating that the buffers associated with these indices can be reused.
| fd | File descriptor to use. |
| count | Number of indices to be returned. |
| indexes | Array of indices to be returned. |
Definition at line 504 of file DmaDriver.h.
|
inlinestatic |
Set debugging level for DMA operations.
This function sets the specified debugging level for DMA operations using an IOCTL command.
| fd | File descriptor for the DMA device. |
| level | Debugging level to be set. |
Definition at line 816 of file DmaDriver.h.
|
inlinestatic |
Set DMA mask.
Sets a DMA mask using an IOCTL command.
| fd | File descriptor for the DMA device. |
| mask | DMA mask to be set. |
Definition at line 855 of file DmaDriver.h.
|
inlinestatic |
Set mask byte array to the driver.
Sets the DMA mask byte array using an IOCTL command.
| fd | File descriptor for the DMA device. |
| mask | Pointer to the DMA mask byte array. |
Definition at line 902 of file DmaDriver.h.
|
inlinestatic |
Unmap user space from DMA buffers.
This function unmaps DMA buffers from user space, releasing the resources.
| fd | File descriptor to use. |
| buffer | Array of pointers to the mapped buffers. |
Definition at line 791 of file DmaDriver.h.
|
inlinestatic |
Unmap a DMA register space from user space.
This function unmaps a previously mapped region of memory from the user space. The fd parameter is not used but is included for symmetry with the dmaMapRegister function.
| fd | File descriptor for the DMA device. (Unused in this function, but kept for symmetry with map function) |
| ptr | Pointer to the start of the mapped memory region. |
| size | Size of the memory region to unmap. |
Definition at line 1023 of file DmaDriver.h.
|
inlinestatic |
Writes data to a DMA channel.
This function writes a single frame of data to a DMA channel, specified by the file descriptor fd. The data to be written is pointed to by buf, with a specified size of size. Additional parameters include flags (flags) and a destination address (dest).
| fd | File descriptor for the DMA device. |
| buf | Pointer to the data buffer. |
| size | Size of the data to write. |
| flags | Flags for the write operation. |
| dest | Destination address for the write. |
Definition at line 218 of file DmaDriver.h.
|
inlinestatic |
Writes data to a DMA channel using an index.
Similar to dmaWrite, but uses an index (index) to specify the data buffer instead of a direct pointer. This is useful for memory-mapped I/O operations where data buffers are identified by indexes.
| fd | File descriptor for the DMA device. |
| index | Index of the data buffer. |
| size | Size of the data to write. |
| flags | Flags for the write operation. |
| dest | Destination address for the write. |
Definition at line 246 of file DmaDriver.h.
|
inlinestatic |
Write Frame, memory mapped from iovector.
This function writes a frame to a device, using DMA, where the frame data is described by an array of iovec structures.
| fd | File descriptor for DMA operation. |
| iov | Pointer to array of iovec structures. |
| iovlen | Length of the iov array. |
| begFlags | Flags to use for the beginning of the DMA transaction. |
| midFlags | Flags to use for the middle of the DMA transaction. |
| endFlags | Flags to use for the end of the DMA transaction. |
| dest | Destination address for the DMA write. |
Definition at line 330 of file DmaDriver.h.
|
inlinestatic |
Write to a DMA register.
Writes data to a specified register address using an IOCTL command.
| fd | File descriptor for the DMA device. |
| address | Register address. |
| data | Data to write. |
Definition at line 945 of file DmaDriver.h.
|
inlinestatic |
Writes an array of data frames to a DMA channel.
This function writes multiple data frames to a DMA channel, where each frame is specified by an iovec structure in the array pointed to by iov. The number of frames to write is specified by iovlen. Flags for the beginning, middle, and end of the data stream are specified by begFlags, midFlags, and endFlags, respectively. The destination address for the write operation is specified by dest.
| fd | File descriptor for the DMA device. |
| iov | Pointer to the array of iovec structures. |
| iovlen | Number of elements in the iov array. |
| begFlags | Flags for the beginning of the data stream. |
| midFlags | Flags for the middle of the data stream. |
| endFlags | Flags for the end of the data stream. |
| dest | Destination address for the write. |
Definition at line 278 of file DmaDriver.h.