dm_test_vbl...worker_setup(9)
π dm_test_vblank_control_worker_setup β from the Kernel API Manual, bestie β¨
okay so real quick before we dive in: this page lives in the Kernel API Manual, and the star of the show is dm_test_vblank_control_worker_setup. say it with me. it's a mouthful but we're gonna slay it π
β¨ NAME β¨
dm_test_vblank_control_worker_setup β builds a vblank_control_work for the worker, that's literally the whole job π
πΈ SYNOPSIS πΈ
struct vblank_control_work * dm_test_vblank_control_worker_setup (struct
kunit *test , bool enable , uint32_t count );
look at her go π«Ά
π¦ ARGUMENTS π¦
testβ the KUnit test context. yeah, the whole test vibe lives in here β¨enableβ the value that gets dropped intovblank_work->enable. simple as that πcountβ the initialdm->active_vblank_irq_count. like, its starting number, no cap π’
π DESCRIPTION π
so what does she actually do? she returns a work item, and that work item is wired up to a freshly allocated adev/crtc/stream combo β brand new, never been used, main character energy only π
here's the lil detail that matters: the CRTC is left without an atomic state. on purpose. iconic. and because of that, amdgpu_dm_ism_commit_event short-circuits, which means only the vblank IRQ accounting inside the worker actually runs. nothing else. she's focused πβ¨
π₯ SEE ALSO π₯
π Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_crtc_test.c
π§ the whole friend group (aka every single related page, yes all of them)
dm_test_crtc_modeset_required_active_mode_changed(9)dm_test_crtc_modeset_required_active_active_changed(9)dm_test_crtc_modeset_required_active_connectors_changed(9)dm_test_crtc_modeset_required_inactive(9)dm_test_crtc_modeset_required_no_changes(9)dm_test_crtc_vrr_active_irq_variable(9)dm_test_crtc_vrr_active_irq_fixed(9)dm_test_crtc_vrr_active_irq_inactive(9)dm_test_crtc_vrr_active_irq_disabled(9)dm_test_crtc_vrr_active_irq_unsupported(9)dm_test_crtc_vrr_active_variable(9)dm_test_crtc_vrr_active_fixed(9)dm_test_crtc_vrr_active_inactive(9)dm_test_crtc_vrr_active_disabled(9)dm_test_crtc_vrr_active_unsupported(9)dm_test_crtc_is_headless_null_adev(9)dm_test_crtc_is_headless_no_connectors(9)dm_test_crtc_is_headless_writeback_only(9)dm_test_crtc_is_headless_disconnected_display(9)dm_test_crtc_is_headless_connected_display(9)dm_test_crtc_is_headless_mixed_connectors(9)dm_test_crtc_helper_mode_fixup_returns_true(9)dm_test_crtc_set_vupdate_irq_no_otg(9)dm_test_crtc_set_vupdate_irq_dc_busy(9)dm_test_crtc_set_vupdate_irq_enable(9)dm_test_idle_create_workqueue(9)dm_test_idle_worker_disabled_clears_running(9)dm_test_idle_worker_enabled_breaks_when_idle_disallowed(9)dm_test_idle_worker_enabled_breaks_when_not_headless(9)dm_test_idle_worker_enabled_runs_body(9)dm_test_crtc_set_static_screen_optimze_no_sr_entry(9)dm_test_crtc_set_static_screen_optimze_sr_entry_psr(9)dm_test_crtc_set_static_screen_optimze_psr_su_skips(9)dm_test_crtc_enable_vblank_rejects_unconfigured(9)dm_test_crtc_enable_vblank_full_path(9)dm_test_crtc_enable_vblank_vupdate_busy(9)dm_test_crtc_enable_vblank_crtc_irq_error(9)dm_test_crtc_enable_vblank_in_reset(9)dm_test_crtc_enable_vblank_queues_work(9)dm_test_crtc_enable_vblank_ips_restore(9)dm_test_crtc_enable_vblank_ips_restore_replay(9)dm_test_crtc_update_active_planes_no_stream(9)dm_test_count_crtc_active_planes_none(9)dm_test_count_crtc_active_planes_mixed(9)dm_test_crtc_duplicate_state_copies_fields(9)dm_test_crtc_reset_state_allocates_state(9)dm_test_crtc_destroy_state_no_stream(9)dm_test_crtc_destroy_state_releases_stream(9)dm_test_crtc_handle_vblank_no_event(9)dm_test_crtc_handle_vblank_skips_when_flip_submitted(9)dm_test_crtc_handle_vblank_completes_cursor_only(9)dm_test_vblank_control_worker_enable_increments(9)dm_test_vblank_control_worker_disable_decrements(9)dm_test_vblank_control_worker_disable_clamps_zero(9)dm_test_crtc_disable_vblank_no_irq_installed(9)dm_test_crtc_disable_vblank_vrr(9)dm_test_crtc_disable_vblank_queues_work(9)
like I said. the whole group chat π
ngl this page is short but she's important β dm_test_vblank_control_worker_setup is the setup half of the vblank-control test trio, and her friends are right up there β¬οΈ
and that's the tea, bestie π this page came out of ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β so yeah, she's from the future, we stan a forward-thinking icon ππ periodt.
π¦ 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