dm_test_pro...otocol_error(9)
β¨ dm_test_pro...otocol_error(9) β¨
okay so real talk, this little cutie lives in the Kernel API Manual and she is literally a KUnit test for the AMD display DMUB AUX transfer path π¦ buckle up bestie, it's a short one but it's iconic.
πΈ SYNOPSIS πΈ
void dm_test_process_dmub_aux_transfer_sync_protocol_error (struct kunit
*test );
π ARGUMENTS π
testβ the KUnit test context π that's it, that's the whole argument, she only needs one thing and honestly? respect.
π DESCRIPTION π
Okay so picture this: the completion is pre-signaled going in, and there's a fake DC DMUB service that straight up rejects the command after construction π. Under those conditions, the sync helper is supposed to propagate the notification result β and here's the slay part β without waiting for real firmware. no cap, no hardware, no drama, just vibes and a mock service doing its little job π
it's giving "test the error path so production never has to" energy fr fr π«Ά
π₯ SEE ALSO π₯
Kernel file β ./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_dmub_test.c π (go read the source, iykyk)
and the whole squad, in order, no crumbs left behind:
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_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_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 there are no options, no exit statuses, no environment variables, no signals and no bugs listed here β this page is just a test description and her friend group π don't go looking for flags bestie, they're not coming.
and that's the whole page!! mwah π this one's sourced from ./drivers/gpu/drm/amd/display/... and stamped October 2026 β so like, future icon behavior honestly πβ go forth and run your KUnit tests, bestie, the protocol error path is covered π§ββοΈπ
π¦ 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