dm_test_dmu...nit_dmcu_abm(9)
π dm_test_dmub_hw_init_dmcu_abm π
okay so this is a page from the Kernel API Manual (yes, that manual, the big one π ) and it's literally about one very specific KUnit test. she's niche, she's precise, she's everything. let's get into it bestie π¦
πΈ NAME πΈ
dm_test_dmub_hw_init_dmcu_abm β the test that checks hw init actually initializes DMCU and ABM when they're present π«Ά
β¨ SYNOPSIS β¨
void dm_test_dmub_hw_init_dmcu_abm (struct kunit *test );
that's it. that's the whole signature. short king π
π ARGUMENTS π
testβ the KUnit test context π§ͺ she's the one holding the keys to the whole test, no cap
π₯ DESCRIPTION π₯
so here's the vibe: when the resource pool actually exposes a DMCU and an ABM (like, they're really there, not just a maybe), then dm_dmub_hw_init is supposed to do three things, bestie, and we're checking all three:
- program the PSP version β
- invoke the DMCU init callback π
- record the running state that the DMCU reported π
three for three or it's not slaying, periodt π
π¦ SEE ALSO π¦
the whole friend group showed up for this one, and honestly? iconic π
Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_dmub_test.c
the rest of the crew (all in section 9):
dm_test_register_dmub_notify_callback_null_callback(9)dm_test_register_dmub_notify_callback_type_out_of_range(9)dm_test_register_dmub_notify_callback_valid(9)dm_test_register_dmub_notify_callback_offload_false(9)dm_test_dmub_aux_setconfig_callback_copies_and_completes(9)dm_test_dmub_aux_setconfig_callback_non_aux_no_complete(9)dm_test_dmub_aux_setconfig_callback_aux_with_null_dm_notify(9)dm_test_dmub_aux_setconfig_callback_set_config_reply(9)dm_test_dmub_aux_fused_io_callback_copies_reply_and_completes(9)dm_test_dmub_aux_fused_io_callback_max_ddc_line(9)dm_test_dmub_aux_fused_io_callback_null_args(9)dm_test_get_default_ips_mode_dcn35(9)dm_test_get_default_ips_mode_dcn351(9)dm_test_get_default_ips_mode_dcn36(9)dm_test_get_default_ips_mode_older_than_dcn35(9)dm_test_get_default_ips_mode_newer_default(9)dm_test_dmub_hw_init_no_dmub_srv(9)dm_test_dmub_hw_init_no_fb_info(9)dm_test_dmub_hw_init_no_firmware(9)dm_test_dmub_hw_init_success_fake_dmub(9)dm_test_dmub_hw_init_no_hw_support(9)dm_test_dmub_hw_init_bss_data(9)dm_test_dmub_hw_init_hw_init_fails(9)dm_test_dmub_hw_init_auto_load_timeout(9)dm_test_dmub_hw_init_apu_dpia_dcn35(9)dm_test_dmub_hw_init_sanity_checks_dcn31(9)dm_test_dmub_hw_init_sanity_checks_dcn314(9)dm_test_dmub_hw_resume_no_dmub_srv(9)dm_test_dmub_hw_resume_initialized_dmub(9)dm_test_dmub_hw_resume_full_init(9)dm_test_dmub_hw_resume_init_check_failed(9)dm_test_dmub_hw_resume_auto_load_timeout(9)dm_test_dmub_sw_init_unsupported_asic(9)dm_test_init_microcode_unsupported_asic(9)dm_test_dmub_get_vbios_bounding_box_default_null(9)dm_test_execute_dmub_cmd_null_dmub_srv(9)dm_test_process_dmub_aux_transfer_sync_engine_acquire(9)dm_test_process_dmub_aux_transfer_sync_protocol_error(9)dm_test_process_dmub_aux_transfer_sync_copies_data(9)dm_test_process_dmub_aux_transfer_sync_zero_length(9)dm_test_process_dmub_set_config_sync_unknown_error(9)dm_test_abort_fused_io_no_dmub_srv(9)
like I said. everyone was invited π
ngl this is a test page, so if you're here looking for runtime behaviour you're in the wrong group chat β this is about verifying that dm_dmub_hw_init does the right things in a test π
okay that's the whole page, bestie, you ate that π mwah π
β with love from ./drivers/gpu/drm/amd/display/..., dated October 2026, signed dm_test_dmu...nit_dmcu_abm(9) π§ββοΈβ¨
π¦ 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