dm_test_ism_...enable_cycle(9)
π dm_test_ism_disable_enable_cycle β from the Kernel API Manual, bestie β¨
Okay so picture this: you're deep in the Kernel API Manual (yes, that one) and you land on dm_test_ism_disable_enable_cycle. Girl. It's literally a KUnit test that turns the ISM's delayed work off and then right back on again, and it wants you to know it's not that deep. Let me walk you through it π«Ά
πΈ NAME πΈ
dm_test_ism_disable_enable_cycle β disables, then enables, quiesces and re-arms the work. That's the whole assignment, and she ate π
π SYNOPSIS π
void dm_test_ism_disable_enable_cycle (struct kunit *test );
π¦ ARGUMENTS π¦
testβ the KUnit test context. It's giving "the little struct that keeps the whole test together," and honestly? Main character energy π
β¨ DESCRIPTION β¨
So what actually happens: this test walks every CRTC's ISM πΆββοΈ β like, every single one, no skipping, no cherry-picking β and for each one it disables its delayed work (synchronously) and then re-enables it right after. Turn it off, turn it back on. Iconic behaviour, no notes.
Here's the cute part: since no work is ever scheduled in this scenario, both calls complete without touching the FSM state at all. Zero. Nada. The state machine doesn't even notice. It's just vibing π§ββοΈ
β οΈ Okay but for real though, bestie, listen to this one:disablemust be called withoutdc_lockheld. Not "should," not "preferably" β must. Lock held and you call disable? Do not. Don't do it. π
π₯ SEE ALSO π₯
The whole friend group shows up for this one β s/o to the rest of the suite π
- The kernel file this lives in, obviously:
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_ism_test.c dm_test_ism_idle_delay_entry_count_exceeds_history_size(9)dm_test_ism_init_sets_initial_state(9)dm_test_ism_fini_after_init(9)dm_test_ism_set_last_idle_ts_updates_timestamp(9)dm_test_ism_insert_record_basic(9)dm_test_ism_insert_record_wraps_around(9)dm_test_ism_trigger_event_valid_transition(9)dm_test_ism_trigger_event_invalid_transition(9)dm_test_dispatch_next_event_hyst_wait_no_delay(9)dm_test_dispatch_next_event_hyst_wait_with_delay(9)dm_test_dispatch_next_event_opt_idle_no_sso_delay(9)dm_test_dispatch_next_event_opt_idle_with_sso_delay(9)dm_test_dispatch_next_event_timer_aborted(9)dm_test_dispatch_next_event_no_action_state(9)dm_test_ism_commit_event_no_state(9)dm_test_ism_commit_event_cursor_transition(9)dm_test_ism_commit_event_invalid_event(9)dm_test_ism_force_full_power(9)dm_test_ism_dispatch_hysteresis_schedule_and_cancel(9)dm_test_ism_dispatch_optimized_idle_defers_sso(9)
π and that's the page!! π Sourced straight from ./drivers/gpu/drm/amd/display/..., dated October 2026, and yeah β the footer says dm_test_ism_...enable_cycle(9) because even the manpage itself got abbreviated for the group chat π go forth and cycle your disables and enables responsibly, 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