stmmac_tso_allocator(9)
π stmmac_tso_allocator(9) π
okay bestie, buckle up β this one is from the Kernel API Manual, and it's lowkey the close entry point of the driver. yes, that's the whole vibe: it's the function that closes things out. periodt.
β¨ SYNOPSIS β¨
void stmmac_tso_allocator (struct stmmac_priv *priv , u32 *entry ,
dma_addr_t des , int total_len , bool last_segment , u32 queue );
no cap, that's the whole signature β a void return because it just does the thing, no receipts, no feedback. π«Ά
π ARGUMENTS π
privβ the driver private structure. it's giving main character energy, everything else lives inside it.entryβ TX queue buffer index. your lil pointer to where in the queue we're at π«desβ buffer start address. thedma_addr_tglow-up of "where does this buffer actually live".total_lenβ total length to fill in descriptors. literally the amount of descriptor-filling we're about to do.last_segmentβ condition for the last descriptor. abool, so it's a yes/no vibe check on whether this is the final one π¦queueβ TX queue index. which queue we're serving, because there are many and they all want attention π
πΈ DESCRIPTION πΈ
this function fills descriptor and requests new descriptors according to buffer length to fill. that's it, that's the whole job. it's not doing the dramatic stuff β it's just quietly making sure the descriptors are filled and the next ones are requested, in line with how much buffer length there is to fill. iconic, honestly. π
π SEE ALSO π
and now for the friend group β this function does NOT roll alone, bestie. look at this roster:
Kernel file ./drivers/net/ethernet/stmicro/stmmac/stmmac_main.cstmmac_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_xmit(9)stmmac_has_ip_ethertype(9)stmmac_xmit(9)stmmac_rx_refill(9)stmmac_rx(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)
the way this list is long long β but every single one of them is a real one, iykyk π
ngl, there's no scary warning section here, but do keep in mind: the only file path given in this page is ./drivers/net/ethernet/stmicro/stmmac/stmmac_main.c, and that's the one to go read if you want the lore. π₯
okay that's the whole page, bestie β tysm for reading, drink some water π
signing off with the source <lavender>./drivers/net/ethernet/stmicro...</lavender> and the date <pink>October 2026</pink> β catch you in the next manpage, mwah πβ¨π
π¦ 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