Struct mss_mac_queue

Source
#[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

Source§

fn clone(&self) -> mss_mac_queue

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for mss_mac_queue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for mss_mac_queue

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.