dm_test_dmub...w_init_fails(9)
π dm_test_dmub_hw_init_hw_init_fails(9) β from the Kernel API Manual, bestie π
okay so this is a page out of the Kernel API Manual, and it's all about one little KUnit test. pull up a chair, we're getting into it β¨
π¦ NAME π¦
dm_test_dmub_hw_init_hw_init_fails β literally the test that checks hw init hands back -EINVAL when DMUB init goes sideways π
πΈ SYNOPSIS πΈ
void dm_test_dmub_hw_init_hw_init_fails (struct kunit *test );
π ARGUMENTS π
testβ the KUnit test context, aka the little vibe-holder that carries the test's state. no notes, she's just doing her job π«Ά
β¨ DESCRIPTION β¨
so here's the tea β: if the framebuffer-info window count comes in below the required total, then dmub_srv_hw_init is gonna straight-up reject the whole request. no hesitation, no second chances, blocked. π
ββοΈ
and because of that, dm_dmub_hw_init logs it and returns -EINVAL. iconic behavior, honestly. the test is just here to confirm that's exactly what happens π
β οΈ heads up bestie: that rejection path emits a one-timeWARNviaASSERT. so yes, you will see it, and no, it's not a bug in your setup β it's the expected drama π
π₯ SEE ALSO π₯
the whole friend group, in order, no one left out π
- Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_dmub_test.c 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_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)
and that's the whole page, bestie π
sourced from ./drivers/gpu/drm/amd/display/... and dated October 2026 β go forth and let your hw init fail correctly π§ββοΈπ
π¦ 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