dm_test_dmub..._no_dmub_srv(9)
π dm_test_dmub..._no_dmub_srv(9) β from the Kernel API Manual, bestie π
okay so this is a kernel API manpage, and yes the name is a whole mouthful (dm_test_dmub..._no_dmub_srv(9)) but don't panic β it's lowkey just one KUnit test, and it's kind of an icon actually. sit down, grab a lil snack π, and let's get into it.
β¨ NAME β¨
dm_test_dmub_hw_init_no_dmub_srv β the test that checks hw init returns 0 when DMUB isn't supported. she's doing her job and doing it well π
π¦ SYNOPSIS π¦
void dm_test_dmub_hw_init_no_dmub_srv (struct kunit *test );
that's it. that's the whole signature. short and slay β¨
πΈ ARGUMENTS πΈ
testβ the KUnit test context. it's the little container that holds all the test-y stuff, and our function just takes it and vibes with it π«Ά
π DESCRIPTION π
okay so the whole plot twist here: when adev->dm.dmub_srv is NULL, that means the ASIC straight up does not support DMUB. no cap.
and in that case, dm_dmub_hw_init should return 0 β and here's the important part β without touching the hardware. like, at all. not even a little poke. π«ποΈ
so this test exists to make sure that when there's no DMUB server, the init path just politely returns success and keeps its hands to itself. iconic behaviour honestly πβ¨
π₯ SEE ALSO π₯
first up, the actual kernel file where the magic lives:
- Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_dmub_test.c
and then, bestie, the entire friend group β the whole test fam, all of them, no skips:
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_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_init_dmcu_abm(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. the whole fam. iykyk π
aaaand that's the page!! π this lil gem comes to you from ./drivers/gpu/drm/amd/display/..., dated October 2026 β so go forth, run that test, and remember: when dmub_srv is NULL, we do not touch the hardware. periodt. π
π
π¦ 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