STRUCT DMUB_NOTIFICATION(9)
π struct dmub_notification(9) π
okay bestie, sit down, grab a strawberry drink π β we're reading the Kernel API Manual, section 9, and today's main character is struct dmub_notification. yes it's a struct. yes it's giving "tiny but important." no cap, this is the little data blob that carries a dmub notification around, and you're gonna understand it. π«Ά
π NAME π
struct dmub_notification β literally just dmub notification data. that's the whole pitch. iconic, honestly. β¨
π SYNOPSIS π
here's the shape of it, copy it exactly how it is because i am not about to let you mistype a field name:
struct dmub_notification {
enum dmub_notification_type type;
uint8_t link_index;
uint8_t result;
uint8_t instance;
bool pending_notification;
union {
struct aux_reply_data aux_reply;
enum dp_hpd_status hpd_status;
enum set_config_status sc_status;
struct dmub_rb_cmd_hpd_sense_notify_data hpd_sense_notify;
struct dmub_cmd_fused_request fused_request;
};
};
see that anonymous little union at the bottom? yeah. she's mysterious. she contains multitudes. π
π« Members π«
okay now the member-by-member vibe check, in order, no skipping:
typeβ the dmub notification type. it's the "what kind of notification is this" field, the label on the whole thing. π·οΈlink_indexβ link index, and its whole job is to identify the aux connection. that's it, that's the gig. πresultβ the USB4 status returned from dmub. yes, USB4. capitalized. respect it. πpending_notificationβ this bool right here? it indicates there are other pending notifications. so like, don't relax just because you handled one β there might be more waiting. π{unnamed_union}β anonymous. she has no name and she doesn't need one. main character energy fr fr. π§aux_replyβ aux reply. short, sweet, to the point. β¨hpd_statusβ hpd status. also short, also sweet. π¦
heads up bestie: the synopsis shows the full struct, but the Members list only spells out the ones above. soinstance,sc_status,hpd_sense_notifyandfused_requestare sitting there in the struct looking gorgeous and undescribed. don't make up lore for them. π
π₯ SEE ALSO π₯
the friend group. the whole extended universe. all of these, exactly as they're written:
- Kernel file
./drivers/gpu/drm/amd/display/dmub/dmub_srv.hβ 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)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_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)
and that's the page, bestie. go read the source at ./drivers/gpu/drm/amd/display/... β that's the path, dated October 2026, and it's filed under struct dmub_notification(9). ate and left no crumbs. π
πΈπ
π¦ 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