STRUCT IWL_RX_MEM_BUFFER(9)
π¦ struct iwl_rx_mem_buffer(9) β the kernel API manual, bestie edition π¦
Okay so this is a page from the Kernel API Manual (that's the manual name, iykyk) and it's literally all about struct iwl_rx_mem_buffer β the driver-side RX buffer descriptor. One struct, six members, zero drama. Let's get into it π
β¨ NAME β¨
struct iwl_rx_mem_buffer β the driver-side RX buffer descriptor. That's it, that's the whole vibe. It's the lil' receipt the driver keeps for every receive buffer π§Ύ
πΈ SYNOPSIS πΈ
Here's the whole shape of her, no cap:
struct iwl_rx_mem_buffer {
dma_addr_t page_dma;
struct page *page;
struct list_head list;
u32 offset;
u16 vid;
bool invalid;
};
Iconic. Immaculate. Six fields and every single one of them is doing its job π«Ά
π Members π
page_dma
The bus address of the rxb page. That's the address the hardware side cares about, fr fr π
page
The driver's own pointer to the rxb page β this is the CPU-side view of the same thing, bestie π·
list
The list entry for the membuffer. Gotta link 'em all somehow β¨
offset
This one indicates which offset of the page (in bytes) this buffer uses β and yes, that's specifically for when multiple RBs fit into one page. Lowkey efficient π
vid
The index of this rxb in the global table. Like a little name tag at the world's nerdiest party π
invalid
Okay so this means the rxb is in driver ownership β not owned by HW. So if invalid is set, the hardware does not have it, the driver does. Important distinction, don't sleep on it π
π¦ SEE ALSO π¦
Go touch some other docs too, bestie:
- Kernel file
./drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h struct iwl_rx_transfer_desc(9),struct iwl_rx_completion_desc(9),struct iwl_rx_completion_desc_bz(9),struct iwl_rxq(9),struct iwl_rb_allocator(9),iwl_get_closed_rb_stts(9),enum iwl_fw_mon_dbgfs_state(9),enum iwl_shared_irq_flags(9),enum iwl_image_response_code(9),struct cont_rec(9),enum iwl_pcie_imr_status(9),struct iwl_txq(9),struct iwl_pcie_txqs(9),struct iwl_trans_pcie(9),iwl_txq_inc_wrap(9),iwl_txq_dec_wrap(9)
And that's the whole page! π Signing off from ./drivers/net/wireless/intel/i... with a date stamp of October 2026 β same time, same channel, struct iwl_rx_mem_buffer(9) forever ππ
π¦ 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