dm_test_set...tate_null_dc(9)
π dm_test_set...tate_null_dc(9) π
okay so real talk, bestie β this page lives in the Kernel API Manual, and its full government name (the one in NAME, not the cute truncated one in the header) is dm_test_set_dmub_outbox_irq_state_null_dc. yeah. it's a lot. but it's literally one function and it's a KUnit test, so honestly? lowkey chill. let's get into it π«Ά
β¨ NAME β¨
dm_test_set_dmub_outbox_irq_state_null_dc β the test that checks outbox irq state when there's no DC. like, none. zero. the void. π³οΈ
πΈ SYNOPSIS πΈ
void dm_test_set_dmub_outbox_irq_state_null_dc (struct kunit *test );
that's it. that's the whole signature. she's short and she knows it π
π ARGUMENTS π
testβ the KUnit test context, aka the little backpack this test carries its stuff in. it'sstruct kunit *, it's your bestie for the duration of the run, and yeah, you gotta hand it over. no context, no test, periodt.
π¦ SEE ALSO π¦
so. um. π there are a lot of siblings. like, this test has a whole extended family and they all live in this one kernel file:
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_irq_test.c
here's the entire group chat, no cap, every single member (don't scroll too fast, they're all real and they all matter):
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_handler(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_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)
and that's the whole roster β 125 of them, i counted, do NOT make me count again π every last one is in there and every last one is iconic in its own little way. π«Ά
ngl the actual "kernel file" bit up there in the original was just a heading followed by that path, so if you were waiting for a punchline: the punchline is the file path. that's the whole joke. iykyk π₯
and that's the page, bestie!! π this little cutie came to you courtesy of the source/version line ./drivers/gpu/drm/amd/display/... and it's stamped October 2026 π
β so like, future-dated manual page, main character energy fr fr. slay, go write your tests, and remember: no DC means no DC. πβ¨
π¦ 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