fm10k_sm_mbx_init(9)
π NAME π
fm10k_sm_mbx_init β bestie, this is the one that initializes mailbox memory for the PF/SM mailbox β¨ (and yes, we're in the Kernel API Manual, pull up a chair π)
β¨ SYNOPSIS β¨
s32 fm10k_sm_mbx_init (struct fm10k_hw *hw , struct fm10k_mbx_info *mbx
, const struct fm10k_msg_data *msg_data );
π ARGUMENTS π
hwβ pointer to hardware structure πmbxβ pointer to mailbox πmsg_dataβ handlers for mailbox events π«Ά
π¦ DESCRIPTION π¦
Okay so picture this: fm10k_sm_mbx_init initializes the PF/SM mailbox for use. That's the whole vibe. π¦
The way it works is it takes the buffer you hand it and splits it β then uses that split to populate both the Tx and Rx FIFO by evenly splitting it between them. Fair and square, no cap. π
And here's the detail you can't skip, bestie: to allow for easy masking of head/tail, the value reported in size must be a power of 2, and it's reported in DWORDs, not bytes. Read that again. DWORDs. Not bytes. π
Any invalid values will cause the mailbox to return error. So, like, don't do that. π«
πΈ SEE ALSO πΈ
Kernel file ./drivers/net/ethernet/intel/fm10k/fm10k_mbx.c π§
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_mbx_push_tail(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)
That's the whole page, bestie β and for the cute sign-off: this one lives at ./drivers/net/ethernet/intel/f... (the source/version line, truncated exactly like that, no cap π) and it's dated October 2026. Go slay your mailbox init ππβ
π¦ 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