stmmac_rx(9)
β¨ stmmac_rx(9) β¨
okay so you're reading the Kernel API Manual page for stmmac_rx, and honestly? it's a little baddie of a function π
it lives in the network driver world and it's about to make your receive path make sense. buckle up bestie π
πΈ NAME πΈ
stmmac_rx β manage the receive process π«Ά
β SYNOPSIS β
int stmmac_rx (struct stmmac_priv *priv , int limit , u32 queue );
like, that's the whole signature. three args. no cap. π
π¦ ARGUMENTS π¦
privβ the driver private structure π your little bag of driver state, the main character of the struct world.limitβnapi buggetπ§ (yes, "bugget" β that's literally how it's written in the docs, i'm not fixing it, the typo is iconic and it's not mine to touch). it's the limit for this napi round.queueβ the RX queue index π which receive queue we're doing the thing on.
π₯ DESCRIPTION π₯
so this is the function that the napi poll method calls πβ¨ it grabs all the frames sitting inside the ring β like cleaning out your entire inbox in one go, no crumbs left behind π
that's it, that's the whole vibe: napi poll calls it, it hoovers up the frames from the ring, slay. π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/stmicro/stmmac/stmmac_main.c β go read it, it's giving source of truth π
and here's the whole friend group, every single one of them, i'm not leaving anybody out π«Ά:
stmmac_set_clk_tx_rate(9),stmmac_axi_blen_to_mask(9),stmmac_verify_args(9),stmmac_disable_all_queues(9),stmmac_enable_all_queues(9),stmmac_rx_dirty(9),stmmac_try_to_start_sw_lpi(9),stmmac_stop_sw_lpi(9),stmmac_eee_ctrl_timer(9),stmmac_hwtstamp_set(9),stmmac_hwtstamp_get(9),stmmac_init_tstamp_counter(9),stmmac_init_timestamping(9),stmmac_mac_flow_ctrl(9),stmmac_check_pcs_mode(9),stmmac_init_phy(9)stmmac_clear_rx_descriptors(9),stmmac_clear_tx_descriptors(9),stmmac_clear_descriptors(9),stmmac_init_rx_buffers(9),stmmac_free_rx_buffer(9),stmmac_free_tx_buffer(9),dma_free_rx_skbufs(9),dma_free_rx_xskbufs(9),__init_dma_rx_desc_rings(9),__init_dma_tx_desc_rings(9),init_dma_desc_rings(9),dma_free_tx_skbufs(9),stmmac_free_tx_skbufs(9)__free_dma_rx_desc_resources(9),__free_dma_tx_desc_resources(9),__alloc_dma_rx_desc_resources(9),__alloc_dma_tx_desc_resources(9),alloc_dma_desc_resources(9),free_dma_desc_resources(9),stmmac_mac_enable_rx_queues(9),stmmac_start_rx_dma(9),stmmac_start_tx_dma(9),stmmac_stop_rx_dma(9),stmmac_stop_tx_dma(9),stmmac_start_all_dma(9),stmmac_stop_all_dma(9)stmmac_dma_operation_mode(9),stmmac_tx_clean(9),stmmac_tx_err(9),stmmac_set_dma_operation_mode(9),stmmac_dma_interrupt(9),stmmac_mmc_setup(9),stmmac_get_hw_features(9),stmmac_check_ether_addr(9),stmmac_init_dma_engine(9),stmmac_tx_timer(9),stmmac_init_coalesce(9)stmmac_set_tx_queue_weight(9),stmmac_configure_cbs(9),stmmac_rx_queue_dma_chan_map(9),stmmac_mac_config_rx_queues_prio(9),stmmac_mac_config_tx_queues_prio(9),stmmac_mac_config_rx_queues_routing(9),stmmac_mtl_configuration(9),stmmac_hw_setup(9),stmmac_setup_dma_desc(9),__stmmac_open(9),stmmac_release(9)stmmac_tso_allocator(9),stmmac_tso_xmit(9),stmmac_has_ip_ethertype(9),stmmac_xmit(9),stmmac_rx_refill(9),stmmac_tx_timeout(9),stmmac_set_rx_mode(9),stmmac_change_mtu(9),stmmac_interrupt(9),stmmac_ioctl(9),stmmac_hw_init(9)stmmac_dvr_probe(9),stmmac_dvr_remove(9),stmmac_suspend(9),stmmac_reset_queues_param(9),stmmac_resume(9)
and that's the page bestie!! πβ¨π¦π
cute little sign-off before you close the tab: this one came from ./drivers/net/ethernet/stmicro... and it's dated October 2026 π
π
go forth and receive, queen π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms