dpu_encoder_init(9)
π dpu_encoder_init(9) β Kernel API Manual energy β¨
okay so bestie, welcome to dpu_encoder_init π this is a page from the Kernel API Manual, and it is literally about spinning up a whole virtual encoder object. no cap, it's giving "main character gets created from scratch" π
β¨ NAME β¨
dpu_encoder_init β initialize virtual encoder object π¦
like, it makes one. a virtual one. an encoder object. obsessed.
πΈ SYNOPSIS πΈ
struct drm_encoder * dpu_encoder_init (struct drm_device *dev , int
drm_enc_mode , struct msm_display_info *disp_info );
yes she returns a struct drm_encoder * and yes she takes three args, we'll get to them π
π ARGUMENTS π
devβ Pointer to drm device structure. this is the drm device bestie, the whole vibe, the parent energy πdrm_enc_modeβ correspondingDRM_MODE_ENCODER_*constant. like whicheverDRM_MODE_ENCODER_*constant matches, that's the one πdisp_infoβ Pointer to display information structure. the display info, pointed at, iconic π
β RETURN β
Pointer to newly created drm encoder π«Ά β fresh out the oven, new drm encoder, pointer to it, periodt.
π SEE ALSO π
bestie there is a whole friend group here, i'm not skipping a single one, we love a complete list πβ¨
- 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_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_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_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 β¨π
this little manual lives at ./drivers/gpu/drm/msm/disp/dpu1, dated October 2026, and it's the dpu_encoder_init(9) page π go forth and initialize ur virtual encoder objects, mwah ππ¦πΈ
π¦ 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