drm_dev_has_vblank(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– drm_dev_has_vblank(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes, the actual manual name, we're being official today πŸŽ€ β€” and today's main character is drm_dev_has_vblank(9). it's short, it's sweet, it's literally just a vibe check for vblanking. let's get into it ✨


πŸ¦‹ NAME πŸ¦‹

drm_dev_has_vblank β€” the "has vblanking been initialized for this device or nah" test πŸ’…


🌸 SYNOPSIS 🌸

bool drm_dev_has_vblank (const struct drm_device *dev );

that's it. one function, one pointer, returns a bool. simple slay 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the device. that's the whole description, no cap, the original really said "the device" and dipped 😭 so yeah: it's the const struct drm_device * you're asking about πŸ’œ

⭐ DESCRIPTION ⭐

so here's the tea πŸ“ β€” drivers may call this function to test if vblank support is initialized for a device. and for most hardware, that means vblanking can also be enabled. highkey useful info πŸ‘‘

also, the atomic helpers use this function to initialize drm_crtc_state.no_vblank. see also drm_atomic_helper_check_modeset. iykyk 🌈


πŸ”₯ RETURN πŸ”₯

it returns True if vblanking has been initialized for the given device, and false otherwise. literally a yes/no, on/off, slay/not-today situation πŸ’€


🧚 SEE ALSO 🧚

okay this list is long but we are not skipping a single one, bestie, every single reference is coming with us πŸ‘‘

kernel file ./drivers/gpu/drm/drm_vblank.c β€” vblank handling(9), drm_crtc_accurate_vblank_count(9), drm_vblank_init(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_handle_vblank(9), drm_crtc_vblank_start_timer(9), drm_crtc_vblank_cancel_timer(9), drm_crtc_vblank_get_vblank_timeout(9)

like, the whole vblank friend group showed up. iconic behavior, honestly 🌸


ngl bestie, this one's a quick read β€” no dangerous flags, no deprecated anything, no warnings. just a polite boolean. absorbed it, ate it, periodt πŸ’…

that's the whole page!! mwah 🫢 and for the cute sign-off: this little beauty lives over in ./drivers/gpu/drm and it's dated October 2026 β€” see you in the future, bestie πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from