dmub_srv_wait_for_hw_pwr_up(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dmub_srv_wait_for_hw_pwr_up(9) β€” Kernel API Manual

okay so bestie, welcome to the glow-up era of the kernel API manual ✨ today's main character is dmub_srv_wait_for_hw_pwr_up(9) and honestly? she's serving patience, she's serving firmware, and she's lowkey the reason your display doesn't just give up mid-boot 🌸


✨ NAME ✨

dmub_srv_wait_for_hw_pwr_up β€” okay so this one waits until the firmware hardware power up is, like, actually completed πŸ’– no cap, that's the whole job.


πŸ¦‹ SYNOPSIS πŸ¦‹

enum dmub_status dmub_srv_wait_for_hw_pwr_up (struct dmub_srv *dmub ,
                                             uint32_t timeout_us );

like that's it, that's the vibe 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • dmub β€” the dmub service πŸ’« literally the whole service, she's the one doing the waiting.
  • timeout_us β€” the maximum number of microseconds to wait ⏳ like a hard limit so we're not sitting here forever, iykyk.

🌈 DESCRIPTION 🌈

Waits until firmware hardware is powered up πŸ”₯ periodt. That's the entire plot.

the max wait time is given in microseconds so you don't end up spinning forever 😭 like ngl, nobody wants an infinite loop moment in the kernel β€” that's not the vibe, that's a crash waiting to happen πŸ’€ so you hand it a budget, and it respects the budget.


πŸ‘‘ RETURN πŸ‘‘

  • DMUB_STATUS_OK β€” success πŸŽ‰ slay, hardware is up, we love to see it.
  • DMUB_STATUS_TIMEOUT β€” timed out πŸ˜” ran out of your microseconds, no power up, better luck next time.
  • DMUB_STATUS_INVALID β€” unspecified error πŸ™ˆ like... something went wrong, we don't know what, that's the vibe, moving on.

🧚 SEE ALSO 🧚

okay bestie, buckle up, this list is LONG and honestly iconic πŸ‘‘

Kernel file ./drivers/gpu/drm/amd/display/dmub/dmub_srv/dmub_srv.h β€” ah wait, the manual says ./drivers/gpu/drm/amd/display/dmub/dmub_srv.h, copy it exactly bestie, don't let me retype things ✨ β€” plus 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_auto_load(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), and last but never least dmub_srv_get_fw_meta_info_from_raw_fw(9) πŸ’œ

bestie fr fr, go read those if you want the full lore β€” this page is just the one little wait function, the rest of the family is out there living their lives 🌸

πŸ’– okay that's the whole page, hope it ate πŸ’–

this little diva lives over at ./drivers/gpu/drm/amd/display/... (yes, that's literally how the footer writes it, don't come for me πŸ™ˆ), dated October 2026, and she goes by dmub_srv_wait_for_hw_pwr_up(9) πŸŽ€ bye bestie, go wait for your hardware responsibly ✨

πŸ“¦ where this page comes from