dmub_srv_wait_for_auto_load(9)
π« dmub_srv_wait_for_auto_load β the kernel API manual, but make it make sense
okay so bestie, welcome to dmub_srv_wait_for_auto_load(9) from the Kernel API Manual β yes that's the manual name, no I'm not making it up π
this one is a little function with one job and honestly? she ate.
β¨ NAME β¨
dmub_srv_wait_for_auto_load β literally just waits for firmware auto load to complete. that's it. that's the whole vibe π
πΈ SYNOPSIS πΈ
enum dmub_status dmub_srv_wait_for_auto_load (struct dmub_srv *dmub ,
uint32_t timeout_us );
copy it exactly bestie, character for character, don't get creative with the spacing π
π¦ ARGUMENTS π¦
dmubβ the dmub service π like, the whole service struct, she's the main character heretimeout_usβ the maximum number of microseconds to wait β³ that's your patience budget, in microseconds, no cap
π DESCRIPTION π
okay so what she does is: waits until firmware has been autoloaded by the DMCUB. the maximum wait time is given in microseconds β that's the timeout_us from up there β specifically so she doesn't just spin forever like π please. nobody has time for an infinite loop.
and here's the cute little detail: on ASICs without firmware autoload support, this function will return immediately. like, instant. no waiting, no drama, she's out π«Ά
β RETURN β
DMUB_STATUS_OKβ success!! we love to see it πDMUB_STATUS_TIMEOUTβ wait for phy init timed out π (yes, that's what it says β phy init)DMUB_STATUS_INVALIDβ unspecified error π vague, unhelpful, but there it is
π₯ SEE ALSO π₯
first up, the kernel file itself: ./drivers/gpu/drm/amd/display/dmub/dmub_srv.h
then the whole friend group, and yes I'm listing every single one, we don't do skipping here:
- DMUB interface and operation(9)
- struct dmub_region(9)
- struct dmub_window(9)
- struct dmub_fb(9)
- struct dmub_srv_region_params(9)
- struct dmub_srv_fw_meta_info_params(9)
- struct dmub_srv_region_info(9)
- struct dmub_srv_memory_params(9)
- struct dmub_srv_fb_info(9)
- struct dmub_soc_fb_info(9)
- struct dmub_diagnostic_data(9)
- struct dmub_preos_info(9)
- struct dmub_srv_base_funcs(9)
- struct dmub_srv_hw_funcs(9)
- struct dmub_srv_create_params(9)
- struct dmub_srv(9)
- struct dmub_notification(9)
- dmub_srv_create(9)
- dmub_srv_destroy(9)
- dmub_srv_calc_region_info(9)
- dmub_srv_has_hw_support(9)
- dmub_srv_is_hw_init(9)
- dmub_srv_hw_init(9)
- dmub_srv_hw_reset(9)
- dmub_srv_fb_cmd_queue(9)
- dmub_srv_fb_cmd_execute(9)
- dmub_srv_wait_for_hw_pwr_up(9)
- dmub_srv_wait_for_phy_init(9)
- dmub_srv_wait_for_pending(9)
- dmub_srv_wait_for_idle(9)
- dmub_srv_send_gpint_command(9)
- dmub_srv_get_gpint_response(9)
- dmub_srv_get_gpint_dataout(9)
- dmub_srv_flush_buffer_mem(9)
- dmub_srv_get_fw_boot_status(9)
- dmub_srv_send_inbox0_cmd(9)
- dmub_srv_wait_for_inbox0_ack(9)
- dmub_srv_subvp_save_surf_addr(9)
- dmub_srv_set_power_state(9)
- dmub_srv_reg_cmd_execute(9)
- dmub_srv_cmd_get_response(9)
- dmub_srv_sync_inboxes(9)
- dmub_srv_wait_for_inbox_free(9)
- dmub_srv_update_inbox_status(9)
- dmub_srv_get_preos_info(9)
- dmub_srv_get_fw_meta_info_from_raw_fw(9)
ngl bestie, the whole "wait for phy init timed out" line under a function called auto load is giving copy-paste energy, but it's what the manpage says so I'm telling you exactly what it says π
and that's the page!! source path ./drivers/gpu/drm/amd/display/..., dated October 2026, and she's filed under dmub_srv_wait_for_auto_load(9) β ily, go read dmub_srv_wait_for_phy_init(9) next, mwah ππ§β¨
π¦ 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