ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_eth_gwca_default_state_t Struct Reference

State block for ra8_eth_gwca_default_open / _send / _recv. More...

#include <ra8_eth_gwca.h>

Collaboration diagram for ra8_eth_gwca_default_state_t:

Data Fields

ra8_gwca_basic_descriptor_tlinkfix_table
 LINKFIX table covering at least 2 queues (RX + TX).
uint32_t linkfix_count
 Number of LINKFIX entries.
ra8_gwca_basic_descriptor_trx_chain
 RX descriptor chain (FEMPTY ring of rx_depth entries).
uint32_t rx_depth
 RX depth.
uint8_t * rx_pool
 RX pool.
uint32_t rx_slot_bytes
 RX slot bytes.
uint32_t rx_queue_index
 LINKFIX entry + GWDCC[i] index.
uint32_t rx_head
 Round-robin read cursor.
ra8_gwca_ext_descriptor_ttx_chain
 TX descriptor chain – 16-byte EXTENDED descriptors (EDE = 1).
uint32_t tx_depth
 TX depth.
uint8_t * tx_pool
 TX pool.
uint32_t tx_slot_bytes
 TX slot bytes.
uint32_t tx_queue_index
 TX queue index.
uint32_t tx_tail
 Round-robin write cursor.
uint8_t mac_port
 MAC port (0..3) that frames are sourced from / sent to.

Detailed Description

State block for ra8_eth_gwca_default_open / _send / _recv.

Caller-owned block holding the LINKFIX table + RX/TX chain heads + per-queue head/tail cursors that the default-path API tracks. Sized for one TX + one RX queue.

Layout policy:
All descriptor + buffer storage is caller-supplied (BSS-resident arrays) so the HAL doesn't pull in any allocator. Caller picks ring depths and slot sizes at static-allocation time.

Definition at line 537 of file ra8_eth_gwca.h.

Field Documentation

◆ linkfix_count

uint32_t ra8_eth_gwca_default_state_t::linkfix_count

Number of LINKFIX entries.

Definition at line 541 of file ra8_eth_gwca.h.

Referenced by internal_default_open_pre().

◆ linkfix_table

ra8_gwca_basic_descriptor_t* ra8_eth_gwca_default_state_t::linkfix_table

LINKFIX table covering at least 2 queues (RX + TX).

Definition at line 539 of file ra8_eth_gwca.h.

Referenced by internal_default_open_pre(), and internal_default_open_queues().

◆ mac_port

uint8_t ra8_eth_gwca_default_state_t::mac_port

MAC port (0..3) that frames are sourced from / sent to.

Definition at line 561 of file ra8_eth_gwca.h.

Referenced by ra8_eth_gwca_default_send().

◆ rx_chain

ra8_gwca_basic_descriptor_t* ra8_eth_gwca_default_state_t::rx_chain

RX descriptor chain (FEMPTY ring of rx_depth entries).

Definition at line 543 of file ra8_eth_gwca.h.

Referenced by internal_default_open_queues(), internal_default_open_rings(), and ra8_eth_gwca_default_recv().

◆ rx_depth

uint32_t ra8_eth_gwca_default_state_t::rx_depth

RX depth.

Definition at line 544 of file ra8_eth_gwca.h.

Referenced by internal_default_open_rings(), and ra8_eth_gwca_default_recv().

◆ rx_head

uint32_t ra8_eth_gwca_default_state_t::rx_head

Round-robin read cursor.

Definition at line 548 of file ra8_eth_gwca.h.

Referenced by ra8_eth_gwca_default_open(), and ra8_eth_gwca_default_recv().

◆ rx_pool

uint8_t* ra8_eth_gwca_default_state_t::rx_pool

RX pool.

Definition at line 545 of file ra8_eth_gwca.h.

Referenced by internal_default_open_rings().

◆ rx_queue_index

uint32_t ra8_eth_gwca_default_state_t::rx_queue_index

LINKFIX entry + GWDCC[i] index.

Definition at line 547 of file ra8_eth_gwca.h.

Referenced by internal_default_open_queues(), ra8_eth_gwca_default_open(), and ra8_eth_gwca_default_recv().

◆ rx_slot_bytes

uint32_t ra8_eth_gwca_default_state_t::rx_slot_bytes

RX slot bytes.

Definition at line 546 of file ra8_eth_gwca.h.

Referenced by internal_default_open_rings(), and ra8_eth_gwca_default_recv().

◆ tx_chain

ra8_gwca_ext_descriptor_t* ra8_eth_gwca_default_state_t::tx_chain

TX descriptor chain – 16-byte EXTENDED descriptors (EDE = 1).

FEMPTY ring of tx_depth entries; the last is a LINK terminator. The TX path uses extended descriptors so each frame carries its INFO1 routing metadata (direct-descriptor format + destination vector).

Definition at line 554 of file ra8_eth_gwca.h.

Referenced by internal_default_open_queues(), internal_default_open_rings(), internal_wait_tx0_done(), and ra8_eth_gwca_default_send().

◆ tx_depth

uint32_t ra8_eth_gwca_default_state_t::tx_depth

TX depth.

Definition at line 555 of file ra8_eth_gwca.h.

Referenced by internal_default_open_rings(), and ra8_eth_gwca_default_send().

◆ tx_pool

uint8_t* ra8_eth_gwca_default_state_t::tx_pool

TX pool.

Definition at line 556 of file ra8_eth_gwca.h.

Referenced by internal_default_open_rings(), and ra8_eth_gwca_default_send().

◆ tx_queue_index

uint32_t ra8_eth_gwca_default_state_t::tx_queue_index

TX queue index.

Definition at line 558 of file ra8_eth_gwca.h.

Referenced by internal_default_open_queues(), ra8_eth_gwca_default_open(), and ra8_eth_gwca_default_send().

◆ tx_slot_bytes

uint32_t ra8_eth_gwca_default_state_t::tx_slot_bytes

TX slot bytes.

Definition at line 557 of file ra8_eth_gwca.h.

Referenced by internal_default_open_rings(), and ra8_eth_gwca_default_send().

◆ tx_tail

uint32_t ra8_eth_gwca_default_state_t::tx_tail

Round-robin write cursor.

Definition at line 559 of file ra8_eth_gwca.h.

Referenced by ra8_eth_gwca_default_open(), and ra8_eth_gwca_default_send().


The documentation for this struct was generated from the following file: