drm_crtc_handle_vblank(9)
Hiii bestie π this is drm_crtc_handle_vblank(9), from the Kernel API Manual, and it's literally all about handling a vblank event β interrupt-handler main character energy, no cap β¨.
π NAME π
drm_crtc_handle_vblank β handle a vblank event π
πΈ SYNOPSIS πΈ
bool drm_crtc_handle_vblank (struct drm_crtc *crtc );
π ARGUMENTS π
crtcβ where this event occurred π
β¨ DESCRIPTION β¨
Okay so bestie, drivers should call this routine in their vblank interrupt handlers to update the vblank counter and send any signals that may be pending. That's the whole assignment, and it ate π
This is the native KMS version of drm_handle_vblank. Periodt.
Now the barrier bit β don't skip this, it's important π«Ά For a given vblank counter value, drm_crtc_handle_vblank and drm_crtc_vblank_count or drm_crtc_vblank_count_and_time provide a barrier: any writes done before calling drm_crtc_handle_vblank will be visible to callers of the later functions, if the vblank count is the same or a later one. That's the guarantee, and it's highkey crucial.
See also drm_vblank_crtc.count. iykyk π
π« RETURN π«
True if the event was successfully handled, false on failure. Short and iconic.
π₯ SEE ALSO π₯
Go read these too, bestie β they're all linked and they all matter:
- Kernel file
./drivers/gpu/drm/drm_vblank.cvblank handling(9) drm_crtc_accurate_vblank_count(9)drm_vblank_init(9)drm_dev_has_vblank(9)drm_crtc_vblank_waitqueue(9)drm_calc_timestamping_constants(9)drm_crtc_vblank_helper_get_vblank_timestamp_internal(9)drm_crtc_vblank_helper_get_vblank_timestamp(9)drm_crtc_get_last_vbltimestamp(9)drm_crtc_vblank_count(9)drm_vblank_count_and_time(9)drm_crtc_vblank_count_and_time(9)drm_crtc_next_vblank_start(9)drm_crtc_arm_vblank_event(9)drm_crtc_send_vblank_event(9)drm_crtc_vblank_get(9)drm_crtc_vblank_put(9)drm_crtc_wait_one_vblank(9)drm_crtc_vblank_off(9)drm_crtc_vblank_reset(9)drm_crtc_set_max_vblank_count(9)drm_crtc_vblank_on_config(9)drm_crtc_vblank_on(9)drm_crtc_vblank_restore(9)drm_handle_vblank(9)drm_crtc_vblank_start_timer(9)drm_crtc_vblank_cancel_timer(9)drm_crtc_vblank_get_vblank_timeout(9)
Okay that's the page, bestie! source/version: ./drivers/gpu/drm, date: October 2026, and the manual page is drm_crtc_handle_vblank(9) β 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