__init_dma_tx_desc_rings(9)
β¨ __init_dma_tx_desc_rings (9) β¨ β the one where your TX ring gets its whole life together
okay so bestie, we're in the <pink>Kernel API Manual</pink> today and this page is about __init_dma_tx_desc_rings(9) β literally the function that sets up the TX descriptor ring per queue. think of it as the getting-ready-with-me montage for your transmit path π
πΈ NAME πΈ
__init_dma_tx_desc_rings β init the TX descriptor ring (per queue)
π¦ SYNOPSIS π¦
int __init_dma_tx_desc_rings (struct stmmac_priv *priv , struct
stmmac_dma_conf *dma_conf , u32 queue );
π ARGUMENTS π
privβ the driver's private structure, aka where the driver keeps all its personal business πdma_confβ the structure that's gonna take the DMA data, hand it the lil basket π§Ίqueueβ the TX queue index, so we know which queue we're doing the glow-up on
β DESCRIPTION β
kay so this function initializes the DMA TX descriptors and allocates the socket buffers. that's the whole job, no cap. it's giving "set the table and also bring the food."
and listen β it supports both the chained and ring modes. both. she's versatile π
π SEE ALSO π
bestie here's the whole friend group, i'm not skipping a single one of them, we don't do that here π«Ά
- Kernel file
./drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 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_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_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)
and that's the page, bestie π this one came out of ./drivers/net/ethernet/stmicro... and it's dated October 2026 β go set up those rings, you're gonna slay π₯π¦
π¦ 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