fm10k_mbx_push_tail(9)
π fm10k_mbx_push_tail(9)
okay so this is like, a page from the Kernel API Manual, section 9, and it's all about fm10k_mbx_push_tail β yes the manual name is literally the function name, that's just how these work bestie, don't @ me π«Ά
β¨ NAME β¨
fm10k_mbx_push_tail β pushes up to 15 DWORDs on to the tail of the FIFO π
no cap, fifteen, not fourteen, not sixteen.
πΈ SYNOPSIS πΈ
s32 fm10k_mbx_push_tail (struct fm10k_hw *hw , struct fm10k_mbx_info
*mbx , u16 tail );
three arguments, one s32 coming back at you β¨
π ARGUMENTS π
hwβ pointer to the hardware structure. it's giving "the actual physical-ish hardware vibes" π₯mbxβ pointer to the mailbox, the little message-drop box itself π¬tailβ the tail index of the message, i.e. where the end of this thing sits π
π¦ DESCRIPTION π¦
so the way this works: first it validates the tail index and the size for the incoming message β vibe check first, always π§ and then it updates the acknowledgment number and copies the data into the FIFO. icon status honestly.
on success it returns the number of messages dequeued, and on error you get a negative value π so like, heads up, the return value is doing double duty, don't sleep on it.
π SEE ALSO π
the kernel file it lives in is literally:
./drivers/net/ethernet/intel/fm10k/fm10k_mbx.c
and here's the whole bestie circle, in order, every single one π«Ά
fm10k_fifo_init(9), fm10k_fifo_used(9), fm10k_fifo_unused(9), fm10k_fifo_empty(9), fm10k_fifo_head_offset(9), fm10k_fifo_tail_offset(9), fm10k_fifo_head_len(9), fm10k_fifo_head_drop(9), fm10k_fifo_drop_all(9), fm10k_mbx_index_len(9), fm10k_mbx_tail_add(9), fm10k_mbx_tail_sub(9), fm10k_mbx_head_add(9), fm10k_mbx_head_sub(9), fm10k_mbx_pushed_tail_len(9), fm10k_fifo_write_copy(9), fm10k_fifo_enqueue(9)
fm10k_mbx_validate_msg_size(9), fm10k_mbx_write_copy(9), fm10k_mbx_pull_head(9), fm10k_mbx_read_copy(9), fm10k_crc_16b(9), fm10k_fifo_crc(9), fm10k_mbx_update_local_crc(9), fm10k_mbx_verify_remote_crc(9), fm10k_mbx_rx_ready(9), fm10k_mbx_tx_ready(9), fm10k_mbx_tx_complete(9), fm10k_mbx_dequeue_rx(9), fm10k_mbx_enqueue_tx(9), fm10k_mbx_read(9), fm10k_mbx_write(9)
fm10k_mbx_create_connect_hdr(9), fm10k_mbx_create_data_hdr(9), fm10k_mbx_create_disconnect_hdr(9), fm10k_mbx_create_fake_disconnect_hdr(9), fm10k_mbx_create_error_msg(9), fm10k_mbx_validate_msg_hdr(9), fm10k_mbx_create_reply(9), fm10k_mbx_reset_work(9), fm10k_mbx_update_max_size(9), fm10k_mbx_connect_reset(9), fm10k_mbx_process_connect(9), fm10k_mbx_process_data(9), fm10k_mbx_process_disconnect(9), fm10k_mbx_process_error(9), fm10k_mbx_process(9), fm10k_mbx_disconnect(9), fm10k_mbx_connect(9), fm10k_mbx_validate_handlers(9), fm10k_mbx_register_handlers(9), fm10k_pfvf_mbx_init(9)
fm10k_sm_mbx_create_data_hdr(9), fm10k_sm_mbx_create_connect_hdr(9), fm10k_sm_mbx_connect_reset(9), fm10k_sm_mbx_connect(9), fm10k_sm_mbx_disconnect(9), fm10k_sm_mbx_validate_fifo_hdr(9), fm10k_sm_mbx_process_error(9), fm10k_sm_mbx_create_error_msg(9), fm10k_sm_mbx_receive(9), fm10k_sm_mbx_transmit(9), fm10k_sm_mbx_create_reply(9), fm10k_sm_mbx_process_reset(9), fm10k_sm_mbx_process_version_1(9), fm10k_sm_mbx_process(9), fm10k_sm_mbx_init(9)
that's the whole squad, go read them, iykyk π
π and that's the page!! this one's sourced from ./drivers/net/ethernet/intel/f... and dated October 2026, which is honestly so far away it's giving time traveler energy β anyway ily, go push that tail, periodt π
π¦ 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