STRUCT EFX_BUFFER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct efx_buffer β€” a general-purpose DMA buffer, bestie ✨ (yes, it's a manual page, section 9, Kernel API Manual energy, we're doing this)


✨ SYNOPSIS ✨

struct efx_buffer {
    void *addr;
    dma_addr_t dma_addr;
    unsigned int len;
 };

That's the whole vibe. Three fields. Iconic. πŸ’…


πŸŽ€ MEMBERS πŸŽ€

  • addr β€” the host base address of the buffer. like, where you (the CPU) can find it 🫢
  • dma_addr β€” the DMA base address of the buffer. the address the device sees, no cap πŸ’«
  • len β€” buffer length, in bytes. how much buffer you're buffering πŸ“

🌸 DESCRIPTION 🌸

okay so the NIC uses these buffers for its interrupt status registers and MAC stats dumps. that's the whole job. it's giving "small but crucial supporting character" and honestly? we stan πŸ˜­πŸ’œ


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/net/ethernet/sfc/siena/net_driver.h and its whole friend group:

  • struct efx_special_buffer(9)
  • struct efx_tx_buffer(9)
  • struct efx_tx_queue(9)
  • struct efx_rx_buffer(9)
  • struct efx_rx_page_state(9)
  • struct efx_rx_queue(9)
  • struct efx_channel(9)
  • struct efx_msi_context(9)
  • struct efx_channel_type(9)
  • struct efx_link_state(9)
  • enum efx_phy_mode(9)
  • struct efx_hw_stat_desc(9)
  • struct efx_rss_context(9)
  • struct efx_arfs_rule(9)
  • struct efx_async_filter_insertion(9)
  • struct efx_nic(9)
  • struct efx_nic_type(9)

like an entire squad, all cross-referenced, all slaying in their own lane πŸŒˆπŸ‘‘


🧚 quick reminder: this page lives in ./drivers/net/ethernet/sfc/siena and it's dated October 2026 β€” so yeah, future-coded but make it kernel πŸ’€βœ¨

that's the whole thing, bestie β€” go forth and buffer responsibly πŸ“πŸ’–

πŸ“¦ where this page comes from