dm_test_irq_...okes_handler(9)
πΈ dm_test_irq_...okes_handler(9) πΈ
okay so bestie, welcome to the Kernel API Manual β yes, that's the manual name, and yes, you're reading a manpage about a KUnit test π this whole thing is a single test that checks whether immediate work actually calls its handler. no cap. it's giving "tiny test, huge SEE ALSO section" energy and honestly? iconic π
β¨ NAME β¨
dm_test_irq_immediate_work_invokes_handler β a test that checks that immediate work calls the handler π¦
like, that's literally the whole job. immediate work β invokes handler. periodt.
π SYNOPSIS π
void dm_test_irq_immediate_work_invokes_handler (struct kunit *test );
that's it, that's the function signature, copy it exactly bestie β don't be out here "fixing" the spacing, it's fine, it's fine πΈ
π«Ά ARGUMENTS π«Ά
testβ the KUnit test context π that's what gets passed in, and that's the only thing it takes. KUnit context, one (1) singular, no more, no less, fr fr.
π₯ SEE ALSO π₯
okay so this list is long and I'm obsessed π but every single one goes in, because dropping any of them would be a crime against the group chat. first up, the file itself, then the whole extended test family:
Kernel file π
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_irq_test.c
and now the crew, one per line, exactly as they appear:
dm_test_hpd_to_dal_irq_source_hpd1(9)dm_test_hpd_to_dal_irq_source_hpd2(9)dm_test_hpd_to_dal_irq_source_hpd3(9)dm_test_hpd_to_dal_irq_source_hpd4(9)dm_test_hpd_to_dal_irq_source_hpd5(9)dm_test_hpd_to_dal_irq_source_hpd6(9)dm_test_hpd_to_dal_irq_source_invalid(9)dm_test_hpd_to_dal_irq_source_out_of_range(9)dm_test_are_sinks_equal_both_null(9)dm_test_are_sinks_equal_first_null(9)dm_test_are_sinks_equal_second_null(9)dm_test_are_sinks_equal_different_signal(9)dm_test_are_sinks_equal_different_edid_length(9)dm_test_are_sinks_equal_different_edid_data(9)dm_test_are_sinks_equal_identical(9)dm_test_are_sinks_equal_zero_length(9)dm_test_are_sinks_equal_full_edid_identical(9)dm_test_are_sinks_equal_full_edid_last_byte_differs(9)dm_test_notification_str_no_data(9)dm_test_notification_str_aux_reply(9)dm_test_notification_str_hpd(9)dm_test_notification_str_hpd_irq(9)dm_test_notification_str_set_config(9)dm_test_notification_str_dpia(9)dm_test_notification_str_hpd_sense(9)dm_test_notification_str_fused_io(9)dm_test_notification_str_unknown(9)dm_test_irq_init_initializes_lists(9)dm_test_irq_register_rejects_null_params(9)dm_test_irq_register_rejects_invalid_context(9)dm_test_irq_register_rejects_invalid_source(9)dm_test_irq_register_adds_low_context_handler(9)dm_test_irq_register_adds_high_context_handler(9)dm_test_irq_register_multiple_handlers(9)dm_test_irq_register_separate_contexts(9)dm_test_irq_unregister_rejects_invalid_source(9)dm_test_irq_unregister_rejects_null_handler(9)dm_test_irq_unregister_handler_not_found(9)dm_test_irq_fini_removes_registered_handlers(9)dm_test_irq_fini_on_empty_tables(9)dm_test_get_crtc_by_otg_inst_returns_match(9)dm_test_get_crtc_by_otg_inst_returns_null(9)dm_test_get_crtc_by_otg_inst_empty_list(9)dm_test_set_irq_funcs(9)dm_test_irq_suspend_empty(9)dm_test_irq_resume_early_empty(9)dm_test_irq_resume_late_empty(9)dm_test_irq_suspend_registered(9)dm_test_irq_suspend_disables_polling(9)dm_test_irq_resume_early_registered(9)dm_test_irq_resume_late_registered(9)dm_test_irq_resume_late_enables_polling(9)dm_test_hpd_rx_irq_create_workqueue(9)dm_test_hpd_rx_irq_work_suspend_null(9)dm_test_hpd_rx_irq_work_suspend_flushes(9)dm_test_set_crtc_irq_state_no_crtc(9)dm_test_set_pflip_irq_state_no_crtc(9)dm_test_set_vline0_irq_state_no_crtc(9)dm_test_set_vupdate_irq_state_no_crtc(9)dm_test_set_crtc_irq_state_otg_disabled(9)dm_test_set_crtc_irq_state_enable(9)dm_test_set_pflip_irq_state_disable(9)dm_test_set_vline0_irq_state_enable(9)dm_test_set_vupdate_irq_state_enable(9)dm_test_set_crtc_irq_state_allows_idle(9)dm_test_irq_immediate_work_empty(9)dm_test_irq_immediate_work_invokes_all(9)dm_test_irq_schedule_work_empty(9)dm_test_irq_schedule_work_queues_handler(9)dm_test_irq_schedule_work_requeue_fallback(9)dm_test_set_hpd_irq_state_null_dc(9)dm_test_set_dmub_outbox_irq_state_null_dc(9)dm_test_set_dmub_trace_irq_state_null_dc(9)dm_test_outbox_init_null_dc(9)dm_test_hpd_init_empty_connectors(9)dm_test_hpd_fini_empty_connectors(9)dm_test_hpd_init_fini_with_connectors(9)dm_test_hpd_init_fini_analog_connector(9)dm_test_hpd_init_fini_irq_ref(9)dm_test_hpd_rx_offload_work_no_connector(9)dm_test_hpd_rx_offload_work_no_connection(9)dm_test_hpd_rx_offload_work_automated_test(9)dm_test_hpd_rx_offload_work_link_loss(9)dm_test_hdmi_hpd_debounce_detect_false(9)dm_test_hdmi_hpd_debounce_reallow_idle(9)dm_test_handle_hpd_irq_disabled(9)dm_test_handle_hpd_irq_helper_debounce_schedule(9)dm_test_handle_hpd_irq_helper_debounce_release_prev(9)dm_test_handle_hpd_irq_helper_detect_false(9)dm_test_handle_hpd_rx_irq_disabled(9)dm_test_schedule_hpd_rx_offload_work(9)dm_test_handle_hpd_rx_irq_no_left_work(9)dm_test_handle_hpd_rx_irq_automated_test(9)dm_test_handle_hpd_rx_irq_msg_rdy(9)dm_test_handle_hpd_rx_irq_link_loss(9)dm_test_dmub_hpd_callback_null_inputs(9)dm_test_dmub_hpd_callback_invalid_index(9)dm_test_dmub_hpd_callback_empty_connectors(9)dm_test_dmub_hpd_callback_unknown_type_match(9)dm_test_dmub_hpd_callback_hpd_type(9)dm_test_dmub_hpd_callback_hpd_irq_type(9)dm_test_register_hpd_handlers_empty(9)dm_test_register_hpd_handlers_valid(9)dm_test_register_hpd_handlers_invalid_hpd(9)dm_test_register_hpd_handlers_invalid_hpd_rx(9)dm_test_register_hpd_handlers_dmub_outbox(9)dm_test_pflip_high_irq_no_crtc(9)dm_test_pflip_high_irq_not_submitted(9)dm_test_vupdate_high_irq_no_crtc(9)dm_test_crtc_high_irq_no_crtc(9)dm_test_crtc_high_irq_vrr_pre_ai(9)dm_test_crtc_high_irq_vrr_ai_no_stream(9)dm_test_handle_hpd_work_out_of_range(9)dm_test_dmub_outbox1_low_irq_empty(9)dm_test_dmub_outbox1_low_irq_no_handler(9)dm_test_dmub_outbox1_low_irq_direct_callback(9)dm_test_dmub_outbox1_low_irq_offload(9)dm_test_dce110_register_irq_handlers_rejects_uninitialized_sources(9)dm_test_dce110_register_irq_handlers_one_crtc(9)dm_test_dcn10_register_irq_handlers_zero_crtc(9)dm_test_dcn10_register_irq_handlers_one_crtc(9)dm_test_register_outbox_irq_handlers_without_dmub(9)dm_test_register_outbox_irq_handlers_with_dmub(9)dm_test_irq_handler_dispatches_work(9)dm_test_handle_vmin_vmax_update(9)
π that's the whole list, all 120-ish of them, not one dropped. if you were thinking "surely she skipped a couple" β no ma'am, we don't do that here π
and that's the page bestie! π§ quick sign-off so you know where this came from: it's out of the kernel source tree at ./drivers/gpu/drm/amd/display/..., dated October 2026, and it's the dm_test_irq_...okes_handler(9) page from the Kernel API Manual. slay, go read dm_test_irq_immediate_work_empty(9) next, love that for you βπ
π¦ 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