Linux Kernel
3.7.1
|
#include <drv_xgbe_intf.h>
Public Member Functions | |
char cmds[LEPP_CMD_QUEUE_BYTES] | __attribute__ ((aligned(CHIP_L2_LINE_SIZE()))) |
lepp_comp_t comps[LEPP_COMP_QUEUE_SIZE] | __attribute__ ((aligned(CHIP_L2_LINE_SIZE()))) |
Data Fields | |
unsigned int | comp_head |
volatile unsigned int | comp_busy |
unsigned int | comp_tail |
volatile unsigned int | cmd_head |
volatile unsigned int | cmd_tail |
A queue used to convey egress commands from the client to LEPP.
Definition at line 493 of file drv_xgbe_intf.h.
A ring of variable-sized egress DMA commands.
NOTE: Only written by the user, only read by LEPP.
lepp_comp_t comps [LEPP_COMP_QUEUE_SIZE] __attribute__ | ( | (aligned(CHIP_L2_LINE_SIZE())) | ) |
A ring of user completion data. NOTE: Only read/written by the user.
volatile unsigned int cmd_head |
Byte index of first command enqueued for LEPP but not yet processed.
This is always divisible by sizeof(void*) and always <= LEPP_CMD_LIMIT.
NOTE: LEPP advances this counter as soon as it no longer needs the cmds[] storage for this entry, but the transfer is not actually complete (i.e. the buffer pointed to by the command is no longer needed) until comp_busy advances.
If this is equal to cmd_tail, the ring is empty.
NOTE: This is only written by LEPP, only read by the user.
Definition at line 532 of file drv_xgbe_intf.h.
volatile unsigned int cmd_tail |
Byte index of first empty slot in the command ring. This field can be incremented up to but not equal to cmd_head (because that would mean the ring is empty).
This is always divisible by sizeof(void*) and always <= LEPP_CMD_LIMIT.
NOTE: This is read/written by the user, only read by LEPP.
Definition at line 542 of file drv_xgbe_intf.h.
volatile unsigned int comp_busy |
Index of first completion record not yet completed. If this is equal to comp_tail, there are no such completions. This index gets advanced (modulo LEPP_QUEUE_SIZE) whenever a command with the 'completion' bit set is finished.
NOTE: This is only written by LEPP, only read by the user.
Definition at line 509 of file drv_xgbe_intf.h.
unsigned int comp_head |
Index of first completion not yet processed by user code. If this is equal to comp_busy, there are no such completions.
NOTE: This is only read/written by the user.
Definition at line 500 of file drv_xgbe_intf.h.
unsigned int comp_tail |
Index of the first empty slot in the completion ring. Entries from this up to but not including comp_head (in ring order) can be filled in with completion data.
NOTE: This is only read/written by the user.
Definition at line 517 of file drv_xgbe_intf.h.