init_dma_desc_rings(9)
π init_dma_desc_rings β Kernel API Manual, section 9 π
okay so bestie, welcome to the init_dma_desc_rings page π this one lives in the Kernel API Manual, section 9 β yes, the big-kid kernel-internals section, we love her for that π grab ur emotional support iced coffee and let's go β¨
πΈ NAME πΈ
init_dma_desc_rings β literally just init the RX/TX descriptor rings π¦ no cap, that's the whole tagline, she's concise and she knows it π
β¨ SYNOPSIS β¨
int init_dma_desc_rings (struct net_device *dev , struct stmmac_dma_conf
*dma_conf , gfp_t flags );
bestie look at that signature π returns an int, takes three things, slay.
π«Ά ARGUMENTS π«Ά
okay so here's the cast of characters, one bullet each, no one gets left out π
devβ the net device structure π this is the whole network device she's working on, the main character frdma_confβ the structure to take the dma data π¦ like, the struct where the DMA data goes, that's her jobflagsβ agfpflag πΈ (the allocation flag, iykyk)
π DESCRIPTION π
so what does she actually do? lowkey a lot π₯
this function initializes the DMA RX/TX descriptors and allocates the socket buffers. two jobs, one function, main character energy periodt π
and the way that it supports the chained and ring modes?? both of them. not one. both. iconic π
ngl this is the kind of function where if the descriptors aren't set up right, nothing else downstream is gonna slay either β she's load-bearing π«Ά
π SEE ALSO π
the friend group π₯° every single one of these, mwah, no skips:
- Kernel file
./drivers/net/ethernet/stmicro/stmmac/stmmac_main.cπ
and the whole extended squad:
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)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 πβ¨ shoutout to the source, ./drivers/net/ethernet/stmicro..., and to October 2026 for the date stamp β this manual page ate and left no crumbs, hope the descriptor rings were everything u dreamed of πππ¦
π¦ 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