#[repr(C)]pub struct mss_mac_queue {Show 30 fields
pub tx_desc_tab: [mss_mac_tx_desc_t; 16],
pub rx_desc_tab: [mss_mac_rx_desc_t; 64],
pub tx_caller_info: [*mut c_void; 16],
pub rx_caller_info: [*mut c_void; 64],
pub pckt_tx_callback: mss_mac_transmit_callback_t,
pub pckt_rx_callback: mss_mac_receive_callback_t,
pub nb_available_tx_desc: u32,
pub current_tx_desc: u32,
pub nb_available_rx_desc: u32,
pub next_free_rx_desc_index: u32,
pub first_rx_desc_index: u32,
pub rx_discard: u32,
pub overflow_counter: u32,
pub tries: u32,
pub in_isr: i32,
pub int_status: *mut u32,
pub int_mask: *mut u32,
pub int_enable: *mut u32,
pub int_disable: *mut u32,
pub receive_q_ptr: *mut u32,
pub transmit_q_ptr: *mut u32,
pub dma_rxbuf_size: *mut u32,
pub ingress: u64,
pub egress: u64,
pub rx_overflow: u64,
pub hresp_error: u64,
pub rx_restart: u64,
pub tx_amba_errors: u64,
pub tx_restart: u64,
pub tx_reenable: u64,
}
Expand description
//** Per queue specific info for device management structure.
This structure instantiates the queue specific information for managing the MSS Ethernet MAC driver.
Fields§
§tx_desc_tab: [mss_mac_tx_desc_t; 16]
< Transmit descriptor table
rx_desc_tab: [mss_mac_rx_desc_t; 64]
< Receive descriptor table
tx_caller_info: [*mut c_void; 16]
< Pointers to tx user specific data
rx_caller_info: [*mut c_void; 64]
< Pointers to rx user specific data
pckt_tx_callback: mss_mac_transmit_callback_t
< Pointer to transmit handler call back function
pckt_rx_callback: mss_mac_receive_callback_t
< Pointer to receive handler call back function
nb_available_tx_desc: u32
< Number of free TX descriptors available
current_tx_desc: u32
< Oldest in the queue…
nb_available_rx_desc: u32
< Number of free RX descriptors available
next_free_rx_desc_index: u32
< Next RX descriptor to allocate
first_rx_desc_index: u32
< Descriptor to process next when receive handler called
rx_discard: u32
< If set, silently discard incoming packets
overflow_counter: u32
< Overflows since last normal receive operation
tries: u32
< Keeps track of failure to sends…
in_isr: i32
< Set when processing ISR so functions don’t call PLIC enable/disable for protection
int_status: *mut u32
< interrupt status
int_mask: *mut u32
< interrupt mask
int_enable: *mut u32
< interrupt enable
int_disable: *mut u32
< interrupt disable
receive_q_ptr: *mut u32
< RX queue pointer
transmit_q_ptr: *mut u32
< TX queue pointer
dma_rxbuf_size: *mut u32
< RX queue buffer size
ingress: u64
< Count of bytes received on this queue
egress: u64
< Count of bytes transmitted on this queue
rx_overflow: u64
< Number of receive overflow events on this queue
hresp_error: u64
< Number of receive hresp error events on this queue
rx_restart: u64
< Number of times reception has been restarted on this queue
tx_amba_errors: u64
< Number of receive amba error events on this queue
tx_restart: u64
< Number of times transmission has been restarted on this queue
tx_reenable: u64
< Number of times transmission has been reenabled on this queue
Trait Implementations§
Source§impl Clone for mss_mac_queue
impl Clone for mss_mac_queue
Source§fn clone(&self) -> mss_mac_queue
fn clone(&self) -> mss_mac_queue
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more