dmub_srv_wai...r_inbox_free(9)
π dmub_srv_wait_for_inbox_free β the Kernel API Manual tea π«
okay so bestie, welcome to the <pink>Kernel API Manual</pink> page for dmub_srv_wait_for_inbox_free (yeah the header abbreviates it as dmub_srv_wai...r_inbox_free(9) because apparently even manpage headers need to keep it cute and short β¨). Anyway, pull up a chair, this one's literally just "wait for the DMUB inbox to have room" and it's lowkey iconic for it π
πΈ NAME πΈ
dmub_srv_wait_for_inbox_free β it waits for space in the DMUB inbox to free up. That's it, that's the whole vibe. The way that function just sits there until there's room π queen behavior fr fr.
β¨ SYNOPSIS β¨
enum dmub_status dmub_srv_wait_for_inbox_free (struct dmub_srv *dmub ,
uint32_t timeout_us , uint32_t num_free_required );
periodt. that's the signature, copy it exactly, no cap π
π¦ ARGUMENTS π¦
dmubβ the dmub service π like, the whole service struct, your main character here.timeout_usβ the maximum number of microseconds to wait β³ because we are not about to spin forever, bestie, that's giving toxic loop energy.num_free_requiredβ number of free entries required π§ how much room we need before we can chill.
π DESCRIPTION π
So the function waits until the DMUB buffer is freed to the specified number. That's num_free_required, in case you were wondering π And the maximum wait time is given in microseconds β that's timeout_us β specifically to prevent spinning forever. Not me spinning forever waiting for my crush to text back, but this function is smarter than me, it has a timeout π
That's genuinely the entire description, bestie. It waits, it has a limit, it does not spin into the void. Slay.
π₯ RETURN π₯
Here's the vibe check on what you get back:
DMUB_STATUS_OKβ success π you ate, there was room.DMUB_STATUS_TIMEOUTβ the wait for buffer to flush timed out π literally ran out of microseconds, no room found in time.DMUB_STATUS_INVALIDβ unspecified error π something went wrong but nobody's saying what. mysterious. main character energy.
π SEE ALSO π
Okay this is the long part and ngl it's a whole friend group, so buckle up π
Kernel file ./drivers/gpu/drm/amd/display/dmub/dmub_srv.h β that's the home base π
Then the whole squad:
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_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_update_inbox_status(9)dmub_srv_get_preos_info(9)dmub_srv_get_fw_meta_info_from_raw_fw(9)
like, the whole roster π iykyk.
β friendly reminder: every single one of those is (9), which means kernel API section. don't come for me if you skip one, the group chat will notice π«Ά
π sign-off π
this iconic little page lives at ./drivers/gpu/drm/amd/display/... (yes, the source path is abbreviated with ..., it's mysterious like that π), dated October 2026, and it answers to dmub_srv_wai...r_inbox_free(9) β same abbreviated name as the top, full circle, we love consistency π
bye bestie, go wait for your inbox to free up responsibly πβ¨
π¦ 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