dpu_encoder...wait_for_irq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dpu_encoder_helper_wait_for_irq β€” utility to wait on an irq ✨

okay bestie, so this is the Kernel API Manual page for dpu_encoder_helper_wait_for_irq, and honestly? it's giving "small function, big job" energy. it's a utility to wait on an irq β€” that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

int dpu_encoder_helper_wait_for_irq (struct dpu_encoder_phys *phys_enc ,
unsigned int irq_idx , void (*func)(void *arg) , struct
dpu_encoder_wait_info *wait_info );

like, four things in, one int out. iconic signature ngl 🫢


🌸 ARGUMENTS 🌸

  • phys_enc β€” Pointer to physical encoder structure. she's the main character of this whole operation ✨
  • irq_idx β€” IRQ index. yes queen, tell me which irq πŸ‘‘
  • func β€” IRQ callback to be called in case of timeout. so if things go sideways, this baby gets the call πŸ“žπŸ’€
  • wait_info β€” wait info struct. it's literally the wait info. carrying the wait info. slay πŸŽ€

⭐ NOTE ⭐

heads up bestie: will call dpu_encoder_helper_wait_for_irq on timeout. yes, that's really what it says β€” read it twice, i did πŸ™ˆ

πŸ”₯ RETURN πŸ”₯

0 or -ERROR

that's it. that's the return. zero for "we ate", or a negative error for "we did NOT eat" 😭


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c, enum dpu_enc_rc_events(9), struct dpu_encoder_virt(9), dpu_encoder_get_drm_fmt(9), dpu_encoder_needs_periph_flush(9), dpu_encoder_is_widebus_enabled(9), dpu_encoder_is_dsc_enabled(9), dpu_encoder_get_crc_values_cnt(9), dpu_encoder_setup_misr(9), dpu_encoder_get_crc(9), dpu_encoder_helper_report_irq_timeout(9), dpu_encoder_get_vsync_count(9), dpu_encoder_get_linecount(9), dpu_encoder_helper_split_config(9), dpu_encoder_use_dsc_merge(9), dpu_encoder_get_dsc_config(9), dpu_encoder_prepare_wb_job(9), dpu_encoder_cleanup_wb_job(9), dpu_encoder_virt_runtime_resume(9), dpu_encoder_vblank_callback(9), dpu_encoder_underrun_callback(9), dpu_encoder_assign_crtc(9), dpu_encoder_toggle_vblank_for_crtc(9), dpu_encoder_frame_done_callback(9), _dpu_encoder_trigger_flush(9), _dpu_encoder_trigger_start(9), dpu_encoder_helper_trigger_start(9), _dpu_encoder_kickoff_phys(9), dpu_encoder_trigger_kickoff_pending(9), dpu_encoder_vsync_time(9), dpu_encoder_prepare_for_kickoff(9), dpu_encoder_is_valid_for_commit(9), dpu_encoder_start_frame_done_timer(9), dpu_encoder_kickoff(9), dpu_encoder_helper_phys_cleanup(9), dpu_encoder_helper_phys_setup_cdm(9), dpu_encoder_get_clones(9), dpu_encoder_init(9), dpu_encoder_wait_for_commit_done(9), dpu_encoder_wait_for_tx_complete(9), dpu_encoder_get_intf_mode(9), dpu_encoder_helper_get_cwb_mask(9), dpu_encoder_helper_get_dsc(9)

like... that's a lot of friends. the whole dpu_encoder friend group showed up to the function's birthday party πŸ§šπŸ’œ


okay bye bestie, go wait on that irq responsibly πŸ’–

this little love letter lives in ./drivers/gpu/drm/msm/disp/dpu1, dated October 2026 β€” so yeah, future edition, no cap ⭐🌸

πŸ“¦ where this page comes from