bdx_fifo_init(9)
β¨ bdx_fifo_init(9) β¨
okay so this is a page from the Kernel API Manual, and bestie, we're about to set up a fifo. no cap, it's giving "low-level but make it cute." let's get into it π
πΈ NAME πΈ
bdx_fifo_init β create the TX/RX descriptor fifo for host-NIC communication. literally the bridge between your host and the NIC, and yes she ate π«Ά
π SYNOPSIS π
int bdx_fifo_init (struct bdx_priv *priv , struct fifo *f , int fsz_type
, u16 reg_CFG0 , u16 reg_CFG1 , u16 reg_RPTR , u16 reg_WPTR );
π¦ ARGUMENTS π¦
privβ the NIC private structure. the main character of this whole situation.fβ the fifo you're initializing. like, the actual fifo. that one.fsz_typeβ the fifo size type, and here's the menu:0-4KB,1-8KB,2-16KB,3-32KB. pick your fighter βreg_CFG0β offsets of registers relative to base address.reg_CFG1β offsets of registers relative to base address.reg_RPTRβ offsets of registers relative to base address.reg_WPTRβ offsets of registers relative to base address.
yeah the last four all say the same thing, and no i'm not going to pretend otherwise β offsets of registers relative to base address, all four of them, periodt π
π DESCRIPTION π
so here's the tea: 1K extra space is allocated at the end of the fifo to simplify processing of descriptors that wraps around fifo's end. iconic behavior honestly, it's like leaving a little extra room at the end of the row so nothing falls off π
returns 0 on success, and a negative value on failure. simple as that, no drama π
π₯ SEE ALSO π₯
kernel file ./drivers/net/ethernet/tehuti/tehuti.c and all her friends:
bdx_fifo_free(9), bdx_link_changed(9), bdx_isr_napi(9), bdx_fw_load(9), bdx_hw_start(9), bdx_close(9), bdx_open(9), __bdx_vlan_rx_vid(9), bdx_vlan_rx_add_vid(9), bdx_vlan_rx_kill_vid(9), bdx_change_mtu(9), bdx_rx_init(9), bdx_rx_free_skbs(9), bdx_rx_free(9), bdx_rx_alloc_skbs(9), bdx_rx_receive(9), __bdx_tx_db_ptr_next(9), bdx_tx_db_inc_rptr(9), bdx_tx_db_inc_wptr(9), bdx_tx_db_init(9), bdx_tx_db_close(9), bdx_tx_map_skb(9), bdx_tx_space(9), bdx_tx_transmit(9), bdx_tx_cleanup(9), bdx_tx_free_skbs(9), bdx_tx_push_desc(9), bdx_tx_push_desc_safe(9), bdx_probe(9), bdx_remove(9)
the whole squad, fr fr π
that's the whole page bestie, go init that fifo π
okay so before i go β this one comes to you from ./drivers/net/ethernet/tehuti, dated October 2026. mwah, bye πβ¨
π¦ 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