dm_test_ini...pported_asic(9)
β¨ dm_test_ini...pported_asic(9) β¨
okay so welcome to the Kernel API Manual, bestie π you're in section 9 territory and this page is all about one very specific KUnit test. grab a boba, it's a short one but it's iconic π
πΈ NAME πΈ
dm_test_init_microcode_unsupported_asic β the test that checks microcode init returns 0 for an unsupported ASIC π¦
β SYNOPSIS β
void dm_test_init_microcode_unsupported_asic(struct kunit *test);
no cap, that's the whole signature π
π ARGUMENTS π
testβ the KUnit test context. that's it. that's the argument. she's lowkey carrying the whole test π«Ά
π₯ DESCRIPTION π₯
okay so imagine an IP version that has no DMUB support whatsoever β like, the firmware department never even got the memo π
for that kind of IP version, dm_init_microcode should return 0, and it should do it without requesting any firmware at all. that's the entire vibe check this test is running. stunning, honestly β¨
π SEE ALSO π
first up, the kernel file this whole thing lives in β literally the main character's address π
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_dmub_test.c
and now the friend group π β every single sibling test, in order, 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_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_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_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)
ngl the entire list above is mandatory reading if you wanna understand the DMUB test suite β iykyk π don't skip a single one, she's thorough π
mwah, that's a wrap π this little page came straight from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β so go forth, run that test, and let dm_init_microcode return 0 in peace πβπ
π¦ 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