bdx_fifo_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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