qed_mcp_drain(9)
π qed_mcp_drain(9) β Kernel API Manual, bestie edition π
okay so this is a page from the Kernel API Manual, and the star of the show is qed_mcp_drain β the function that drains the nig, allowing completion to pass in case of pauses. Yes, that's the actual wording and we are NOT touching it. π₯
Heads up fr fr: this one should be called only from sleepable context. Not optional, not a vibe suggestion β sleepable context only, bestie. π΄π
β¨ SYNOPSIS β¨
int qed_mcp_drain (struct qed_hwfn *p_hwfn , struct qed_ptt *p_ptt );
it gives back an int, takes two pointers, and honestly that's the whole arc. π¦
πΈ ARGUMENTS πΈ
p_hwfnβ the HW device data. like, the whole hardware situation lives in here, she's the main character of this struct πp_pttβ the PTT you need for register access. no PTT, no registers, no service. periodt. β¨
π RETURN π
It returns an Int. that's it, that's the return section, we love a low-drama return value π«Ά
π SEE ALSO π
first up, the kernel file where all this lives, no cap:
Kernel file ./drivers/net/ethernet/qlogic/qed/qed_mcp.h
and then the whole friend group β every single one of these cuties is related and we are NOT leaving anybody out of the group chat π:
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_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_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)
so that's the whole page, and it comes to you straight from ./drivers/net/ethernet/qlogic/qed, dated October 2026, and it's qed_mcp_drain(9) in the Kernel API Manual. mwah, go drain that nig responsibly, in sleepable context only πππΈ
π¦ 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