dpu_encoder...run_callback(9)
π dpu_encoder_underrun_callback β Kernel API Manual, section (9) π
okay so bestie, welcome to the Kernel API Manual, section 9. this one's a kernel-internals page, so grab your emotional support iced coffee and let's get into it β¨
β¨ NAME β¨
dpu_encoder_underrun_callback β literally just here to notify the virtual encoder that an underrun IRQ showed up. that's it, that's the whole job. no cap. π¦
πΈ SYNOPSIS πΈ
void dpu_encoder_underrun_callback (struct drm_encoder *drm_enc , struct
dpu_encoder_phys *phy_enc );
returns void, so no "did it work" moment β it just does the thing π
π«Ά ARGUMENTS π«Ά
drm_encβ pointer to thedrmencoder structure. your DRM-side bestie πphy_encβ pointer to the physical encoder. the physical one, iykyk π₯
π NOTE π
β οΈ this bad boy gets called from IRQ handler context. like, actual interrupt context. so act accordingly β no sleeping, no blocking, no main character energy in here, fr fr π
π SEE ALSO π
okay this list is giving "the whole friend group showed up" β every single one, no skips π
the kernel file lives at ./drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c, and then:
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_helper_wait_for_irq(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_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)
and that's the whole page, bestie π no crumbs left. this masterpiece came from ./drivers/gpu/drm/msm/disp/dpu1, dated October 2026 β go drink some water and go touch grass (after you finish reading the kernel source) π§π
π¦ 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