qed_mcp_send_drv_version(9)
π qed_mcp_send_drv_version β like, the kernel API manual, but make it make sense β¨
Hey bestie, welcome to qed_mcp_send_drv_version(9), a page from the Kernel API Manual π (yes, the manual name is doing its own thing, we're folding it in here, you're welcome).
So basically this is the function you call when you wanna be like "hey MFW, here's the driver version, bestie π ". That's it. That's the whole vibe.
β¨ NAME β¨
qed_mcp_send_drv_version β Send driver version to MFW. No cap, that's literally the job π«Ά
πΈ SYNOPSIS πΈ
int qed_mcp_send_drv_version (struct qed_hwfn *p_hwfn , struct qed_ptt
*p_ptt , struct qed_mcp_drv_version *p_ver );
It's giving "three pointers and an int", and honestly? Iconic. π₯
π¦ ARGUMENTS π¦
p_hwfnβ HW device data. Like, the actual hardware device's whole deal πp_pttβ PTT required for register access. You need it to poke the registers, no skipping πp_verβ Version value. The version you're sending, duh π
β RETURN β
Returns an Int. And the value is:
0β Operation was successul. (Their spelling, not mine, I'm just the messenger ππ but yes β0means it worked!)
π§ SEE ALSO π§
Okay so the kernel file lives at ./drivers/net/ethernet/qlogic/qed/qed_mcp.h β write that down π
And here's the whole friend group, all the siblings, the entire qed_mcp_* extended universe (plus a couple of recovery-process besties). I'm listing every single one because leaving anyone out is not the vibe π«Ά:
qed_mcp_get_link_params(9)qed_mcp_get_link_state(9)qed_mcp_get_link_capabilities(9)qed_mcp_set_link(9)qed_mcp_get_mfw_ver(9)qed_mcp_get_mbi_ver(9)qed_mcp_get_media_type(9)qed_mcp_get_transceiver_data(9)qed_mcp_trans_speed_mask(9)qed_mcp_get_board_config(9)qed_mcp_cmd(9)qed_mcp_cmd_nosleep(9)qed_mcp_drain(9)qed_mcp_get_flash_size(9)qed_get_process_kill_counter(9)qed_start_recovery_process(9)qed_recovery_prolog(9)qed_mcp_ov_update_current_config(9)qed_mcp_ov_update_driver_state(9)qed_mcp_ov_update_mtu(9)qed_mcp_ov_update_mac(9)qed_mcp_ov_update_wol(9)qed_mcp_set_led(9)qed_mcp_nvm_read(9)qed_mcp_nvm_write(9)qed_mcp_nvm_resp(9)qed_mcp_get_nvm_image_att(9)qed_mcp_get_nvm_image(9)qed_mcp_bist_register_test(9)qed_mcp_bist_clock_test(9)qed_mcp_bist_nvm_get_num_images(9)qed_mcp_bist_nvm_get_image_att(9)qed_mfw_process_tlv_req(9)qed_mcp_send_raw_debug_data(9)qed_mcp_is_ext_speed_supported(9)qed_mcp_cmd_init(9)qed_mcp_cmd_port_init(9)qed_mcp_free(9)qed_mcp_handle_events(9)qed_mcp_load_req(9)qed_mcp_load_done(9)qed_mcp_unload_req(9)qed_mcp_unload_done(9)qed_mcp_read_mb(9)qed_mcp_ack_vf_flr(9)qed_mcp_fill_shmem_func_info(9)qed_mcp_reset(9)qed_mcp_nvm_rd_cmd(9)qed_mcp_phy_sfp_read(9)qed_mcp_is_init(9)qed_mcp_config_vf_msix(9)qed_mcp_halt(9)qed_mcp_resume(9)qed_mcp_set_resc_max_val(9)qed_mcp_get_resc_info(9)qed_mcp_ov_update_eswitch(9)qed_mcp_initiate_pf_flr(9)qed_mcp_resc_lock(9)qed_mcp_resc_unlock(9)qed_mcp_resc_lock_default_init(9)qed_mcp_is_smart_an_supported(9)qed_mcp_get_capabilities(9)qed_mcp_set_capabilities(9)qed_mcp_read_ufp_config(9)qed_mcp_nvm_info_populate(9)qed_mcp_nvm_info_free(9)qed_mcp_get_engine_config(9)qed_mcp_get_ppfid_bitmap(9)qed_mcp_nvm_get_cfg(9)qed_mcp_nvm_set_cfg(9)qed_mcp_is_esl_supported(9)qed_mcp_get_esl_status(9)
Like, that's a lot of friends. Main character energy for the whole qed_mcp namespace honestly πβ¨
Quick reminder bestie: that list is long on purpose, so don't come for me about it β every single one is in there fr fr π
Ok that's the whole page π periodt. This one came out of ./drivers/net/ethernet/qlogic/qed and it's dated October 2026 β so yeah, technically a little futuristic, slay π¦β¨
π¦ 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