qed_mcp_nvm_rd_cmd(9)
π qed_mcp_nvm_rd_cmd(9) β like, the whole kernel API manual vibe π
okay so bestie, welcome to the glow-up of qed_mcp_nvm_rd_cmd, straight out of the Kernel API Manual β¨ this one's a function, it lives in the kernel-API section (9), and it's lowkey the plug that asks the MFW for a buffer. sit down, hydrate, let's go π«Ά
πΈ NAME πΈ
qed_mcp_nvm_rd_cmd β sends an NVM read command request to the MFW to get a buffer. that's it, that's the whole assignment π
β¨ SYNOPSIS β¨
int qed_mcp_nvm_rd_cmd (struct qed_hwfn *p_hwfn , struct qed_ptt *p_ptt
, u32 cmd , u32 param , u32 *o_mcp_resp , u32 *o_mcp_param , u32
*o_txn_size , u32 *o_buf , bool b_can_sleep );
copy it exactly, don't be cute with the spacing, the compiler is NOT amused by your aesthetic π
π¦ ARGUMENTS π¦
here's the cast, main-character energy only:
p_hwfnβ HW device data. the whole hardware situation, iconic.p_pttβP_ptt. yes that's the description. we keep it real, we don't invent lore πcmdβ the (Command), and it's one of these two, no substitutions:DRV_MSG_CODE_NVM_GET_FILE_DATAorDRV_MSG_CODE_NVM_READ_NVRAM.paramβ bitpacked cutie:[0:23]- Offset,[24:31]- Size. that's the whole map, don't get lost πΊοΈo_mcp_respβ MCP response.o_mcp_paramβ MCP response param.o_txn_sizeβ Buffer size output.o_bufβ Pointer to the buffer returned by the MFW. the actual prize πb_can_sleepβ Can sleep. (a whole mood, honestly π΄)
π RETURN π
0 upon success. that's the only one listed, so 0 is your bestie and the rest is between you and the universe π«Ά
π SEE ALSO π
starting with the kernel file, as one does:
- Kernel file
./drivers/net/ethernet/qlogic/qed/qed_mcp.h
and then the entire group chat of siblings, all (9), all accounted for, no cap:
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_mcp_send_drv_version(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_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)
fr fr bestie, that's every single reference β count them, they're all there, nothing got left on read π
and that's the page!! π§ from ./drivers/net/ethernet/qlogic/qed, dated October 2026, manual section qed_mcp_nvm_rd_cmd(9) β slay, ate, no crumbs, 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