dpu_crtc_frame_event_cb(9)
π dpu_crtc_frame_event_cb β the crtc frame event callback API
okay so real talk, bestie β this one lives in the Kernel API Manual, and it's basically the little doorbell π that says "hey, something happened on this crtc, go deal with it." Let's get into it.
β¨ NAME β¨
dpu_crtc_frame_event_cb β the crtc frame event callback API, periodt. π
π SYNOPSIS π
void dpu_crtc_frame_event_cb (struct drm_crtc *crtc , u32 event );
like... that's it. that's the whole signature. she's cute, she's simple, she takes two things and returns nothing (void, obviously β no notes, she gives nothing back and that's iconic of her). π¦
πΈ ARGUMENTS πΈ
crtcβ Pointer to crtc. literally just a pointer to the crtc, bestie, that's the whole vibe. π«Άeventβ Event to process. which event?? the one you're processing. iykyk. π
π DESCRIPTION π
okay so here's the tea β β the encoder may call this for different events from different contexts. and by different contexts we mean like, IRQ, user thread, commit_thread, etc. so many vibes, so many places. π
the way that each event needs to be carefully reviewed β like, do not just yolo this β and should be processed in the proper task context. why?? because otherwise you get a scheduling delay π or you don't properly manage the irq context's bottom half processing. and nobody wants that. ngl that's the whole point.
π¨ bestie pls read this twice: the context you're in matters. IRQ context, user thread, commit_thread β they are NOT the same girlies and you cannot treat them the same. pick the right one or it's giving scheduling delay.
π₯ SEE ALSO π₯
- Kernel file
./drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.cβ _dpu_crtc_blend_setup(9)_dpu_crtc_complete_flip(9)dpu_crtc_get_intf_mode(9)dpu_crtc_vblank_callback(9)dpu_crtc_complete_commit(9)dpu_crtc_destroy_state(9)dpu_crtc_commit_kickoff(9)dpu_crtc_duplicate_state(9)dpu_crtc_check_mode_changed(9)dpu_crtc_vblank(9)dpu_crtc_get_num_lm(9)dpu_crtc_init(9)
like go read the whole friend group, they're all connected fr fr π
π mwah, that's the page! this lil' slice of the kernel lives over in ./drivers/gpu/drm/msm/disp/dpu1, and the version on the record is dated October 2026. slay, go process those events in the right context, ily, bye! πΈβ¨π
π¦ 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