dm_test_crt..._queues_work(9)
π dm_test_crt..._queues_work(9) β Kernel API Manual, bestie edition β¨
okay so welcome to the Kernel API Manual entry for dm_test_crt..._queues_work(9) β yes that's the truncated-spicy version of dm_test_crtc_disable_vblank_queues_work, the shell just couldn't fit the whole name, she's doing her best π«Ά
πΈ NAME πΈ
dm_test_crtc_disable_vblank_queues_work β literally the test for "disable queues work without a stream". no stream, no problem, the work still gets queued. iconic behaviour tbh π
β¨ SYNOPSIS β¨
void dm_test_crtc_disable_vblank_queues_work (struct kunit *test );
π ARGUMENTS π
testβ the KUnit test context, aka the little backstage pass that tells the test framework who she is. that's it. that's the whole argument. queen of minimalism π
π¦ DESCRIPTION π¦
okay so picture this: there's a vblank control workqueue installed, right, and a CRTC state that is carrying no stream at all. empty handed. nothing. and when the disable path runs, it queues the control worker anyway β without retaining a stream. no stream retained, no strings attached, she just queues it π
then you drain the queue and the worker actually runs, and what does it do? it drops the active vblank IRQ count. that's the whole vibe check right there β¨
and the ISM? it's seeded in a state with no ENTER_IDLE_REQUESTED transition β on purpose, periodt β so that the worker only exercises the vblank accounting and doesn't go wandering off into other logic. keep it focused, keep it cute πΈ
π SEE ALSO π
π Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_crtc_test.c
π the whole friend group (all the sibling tests, no cap)
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_setup(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)
π real talk: that's the entire cross-reference list, all 56 of them, nothing skipped, nothing merged. go read them all, i'll wait. iykyk π
and that's the page!! fr fr this one shipped from ./drivers/gpu/drm/amd/display/... back in October 2026, filed under dm_test_crt..._queues_work(9) because the terminal was like "that name is too long bestie" π anyways ily, go write tests, 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