dm_test_hpd...h_connectors(9)
π dm_test_hpd...h_connectors(9) π
okay so bestie, this is a page from the Kernel API Manual, section 9 β yes, the kernel-doc corner of the universe where the DRM/AMD display tests live. Come sit, we're gonna go through it together π«Ά
β¨ NAME β¨
dm_test_hpd_init_fini_with_connectors β the test that does the HPD init/fini walk and literally walks the connectors, no cap. It's giving "make sure the hotplug-detect setup and teardown actually behave" energy π
πΈ SYNOPSIS πΈ
void dm_test_hpd_init_fini_with_connectors(struct kunit *test);
that's it. that's the whole signature. iconic, honestly β¨
π ARGUMENTS π
testβ the KUnit test context π§ the little bundle of test-state that gets passed around so KUnit knows what's going on. she's the main character of the argument list (she's also the only argument, but let her have this) π
π¦ SEE ALSO π¦
okay so this is the part where the page absolutely goes off. the Kernel file for all of this is right here:
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_irq_test.c
and then β deep breath, bestie, there are a lot of siblings β here's every single one, fr fr π
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_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_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)
yeah. the whole squad. every single one accounted for, we don't skip, we don't ghost, we don't summarize ππ
lowkey a moment of appreciation for the fact that this page is a whole test-suite reunion and our girl dm_test_hpd_init_fini_with_connectors is just one very specific walk through the connectors. go read the file if you want the deep lore, iykyk π
and that's the page, bestie β¨ this one came out of ./drivers/gpu/drm/amd/display/..., stamped October 2026, living in section 9 of the Kernel API Manual under the name dm_test_hpd...h_connectors(9) β mwah, tysm for reading, slay forever πππ
π¦ 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