|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Cross-TU shared surface for the ra8_etha driver split. More...
Go to the source code of this file.
Data Structures | |
| struct | ra8_etha_slot_t |
| Per-port runtime state. More... | |
Functions | |
| static bool | internal_port_ok (ra8_etha_port_t port) |
| Range-check a port argument. | |
Variables | |
| ra8_etha_slot_t | s_etha_slots [k_ra8_etha_port_count] |
| Per-port handler table; index = ra8_etha_port_t. | |
Cross-TU shared surface for the ra8_etha driver split.
The ETHA driver is split across two translation units to stay under the per-file line-count cap: ra8_etha.c holds the lifecycle, IRQ, and traffic-shaping path, while ra8_etha_stats.c holds the per-port statistics, descriptor-ring sizing, and PHY-open path. This src/-local header carries the handful of symbols both TUs share: the logger tag, the per-port runtime slot table and its element type, and the shared port range-check predicate. It is NOT part of the public ABI.
Definition in file ra8_etha_internal.h.
|
inlinestatic |
Range-check a port argument.
Shared predicate used by both ETHA translation units to bounds-check a ra8_etha_port_t before it indexes s_etha_slots or selects an MMIO register window. Pure; no side effects.
| [in] | port | Port to validate. |
| true | port in 0 .. (k_ra8_etha_port_count - 1). |
| false | port out of range. |
port. Definition at line 72 of file ra8_etha_internal.h.
References k_ra8_etha_port_count, and RA8_INTERNAL.
Referenced by internal_phy_args_ok(), ra8_etha_account_traffic(), ra8_etha_attach_handler(), ra8_etha_clear_stats(), ra8_etha_clear_status(), ra8_etha_configure_cbs(), ra8_etha_configure_cut_through(), ra8_etha_deinit(), ra8_etha_descriptor_ring_init(), ra8_etha_disable_irq(), ra8_etha_dispatch(), ra8_etha_enable_irq(), ra8_etha_enable_tas(), ra8_etha_enter_stop(), ra8_etha_exit_stop(), ra8_etha_get_cbs_state(), ra8_etha_get_queue_level(), ra8_etha_get_stats(), ra8_etha_get_status(), ra8_etha_init(), ra8_etha_open(), ra8_etha_read_stats(), ra8_etha_read_tas_entry(), ra8_etha_reset(), ra8_etha_set_ipv_remap(), ra8_etha_set_max_frame_size(), ra8_etha_set_mode(), ra8_etha_set_preemption(), ra8_etha_set_queue_arb(), ra8_etha_set_queue_depth(), ra8_etha_set_rx_tag_filter(), ra8_etha_set_tas_schedule(), ra8_etha_set_vlan_mode(), ra8_etha_set_vlan_tag(), ra8_etha_tas_ram_reset(), ra8_rmac_attach_handler(), ra8_rmac_clear_status(), ra8_rmac_deinit(), ra8_rmac_dispatch(), ra8_rmac_enter_stop(), ra8_rmac_exit_stop(), ra8_rmac_get_status(), ra8_rmac_init(), ra8_rmac_mdio_c22_read(), ra8_rmac_mdio_c22_write(), ra8_rmac_mdio_c45_read(), ra8_rmac_mdio_c45_write(), ra8_rmac_read_stats(), ra8_rmac_set_frame_size(), ra8_rmac_set_link(), ra8_rmac_set_loopback(), ra8_rmac_set_lpi(), ra8_rmac_set_mac_address(), ra8_rmac_set_magic_packet(), ra8_rmac_set_pause_frame(), ra8_rmac_set_pfc_group(), ra8_rmac_set_ptp_filter(), ra8_rmac_set_rx_filter(), and ra8_rmac_set_vlan_framing().
|
extern |
Per-port handler table; index = ra8_etha_port_t.
Defined here and shared with the statistics TU (ra8_etha_stats.c) via the extern declaration in ra8_etha_internal.h.
Backing store for the per-port callback, cookie, and counter state. Defined once in ra8_etha.c and referenced from the split-out statistics TU via this declaration.
Definition at line 117 of file ra8_etha.c.
Referenced by ra8_etha_account_traffic(), ra8_etha_attach_handler(), ra8_etha_deinit(), ra8_etha_descriptor_ring_init(), ra8_etha_dispatch(), ra8_etha_get_stats(), and ra8_etha_init().