dm_test_unre..._non_dp_noop(9)
๐ dm_test_unregister_non_dp_noop โ Kernel API Manual ๐
okay so bestie, welcome to the <pink>dm_test_unregister_non_dp_noop(9)</pink> page โ yes the title got squished by the terminal, it's fine, we're fine, everything's fine ๐. It's a KUnit test and it's lowkey the chillest one in the whole file. Let's get into it.
โจ NAME โจ
dm_test_unregister_non_dp_noop โ Test unregister tolerates an unregistered connector ๐ซถ
Like, the whole point is "what happens if we try to unregister something that was never registered?" and the answer is <green>nothing bad, babes</green>. Periodt.
๐ธ SYNOPSIS ๐ธ
void dm_test_unregister_non_dp_noop (struct kunit *test );
That's it. That's the whole signature. No return value, no drama, main character energy but make it void.
๐ ARGUMENTS ๐
testโ The KUnit test context ๐ (the little test-world the framework hands you so the test can actually exist, yk?)
๐ฆ DESCRIPTION ๐ฆ
okay so picture this ๐ฌ โ no sysfs group was ever created, the CEC notifier is NULL, and the DP AUX channel was never registered. Literally none of the setup happened. Zero. Nada.
And despite all of that <purple>nothing was ever set up</purple>, the unregister call still has to be a safe no-op. Not a crash, not a splat, not a "whoops we dereferenced NULL" moment โ just a clean little nothing. ๐ง
The way that unregister just has to politely do nothing and not make it weird? Obsessed. That's the entire vibe check this test is running. โจ
๐ SEE ALSO ๐
๐ Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c
๐ The rest of the squad (yes, all of them, I would never skip one)
๐ซถ subconnector + content type crew
dm_test_subconnector_type_none(9)dm_test_subconnector_type_vga(9)dm_test_subconnector_type_dvi_converter(9)dm_test_subconnector_type_dvi_dongle(9)dm_test_subconnector_type_hdmi_converter(9)dm_test_subconnector_type_hdmi_dongle(9)dm_test_subconnector_type_mismatched(9)dm_test_subconnector_type_default_unknown(9)dm_test_content_type_no_data(9)dm_test_content_type_graphics(9)dm_test_content_type_photo(9)dm_test_content_type_cinema(9)dm_test_content_type_game(9)dm_test_content_type_unknown_defaults_no_data(9)
๐จ adjust colour depth era
dm_test_adjust_colour_depth_fits_at_888(9)dm_test_adjust_colour_depth_reduces_to_888(9)dm_test_adjust_colour_depth_10bpc_passes(9)dm_test_adjust_colour_depth_420_halves_clk(9)dm_test_adjust_colour_depth_420_reduces(9)dm_test_adjust_colour_depth_reduces_12bpc_to_10bpc(9)dm_test_adjust_colour_depth_16bpc_no_fallback(9)dm_test_adjust_colour_depth_none_fits(9)dm_test_adjust_colour_depth_invalid_depth(9)
๐ธ output color space (the long one, stay with me)
dm_test_output_color_space_default_rgb_full(9)dm_test_output_color_space_default_rgb_limited(9)dm_test_output_color_space_default_ycbcr709(9)dm_test_output_color_space_default_ycbcr601_limited(9)dm_test_output_color_space_bt601_y_only(9)dm_test_output_color_space_bt601(9)dm_test_output_color_space_bt709(9)dm_test_output_color_space_bt709_y_only(9)dm_test_output_color_space_oprgb(9)dm_test_output_color_space_bt2020_rgb(9)dm_test_output_color_space_bt2020_rgb_limited(9)dm_test_output_color_space_default_rgb_auto_hdmi_cta(9)dm_test_output_color_space_default_rgb_auto_hdmi_vga(9)dm_test_output_color_space_default_rgb_auto_dp_cta(9)dm_test_output_color_space_default_rgb_full_hdmi_cta(9)dm_test_output_color_space_bt2020_rgb_auto_hdmi_cta(9)dm_test_output_color_space_bt2020_ycc(9)dm_test_output_color_space_default_ycbcr709_y_only(9)dm_test_output_color_space_default_ycbcr601(9)dm_test_output_color_space_bt2020_ycc_rgb_encoding(9)dm_test_output_color_space_bt2020_ycc_rgb_encoding_limited(9)dm_test_output_color_space_bt2020_rgb_ycc_encoding(9)
๐งฎ convert color depth / color_depth_from_info
dm_test_convert_color_depth_bpc_mappings(9)dm_test_convert_color_depth_bpc_unknown(9)dm_test_color_depth_from_info_bpc8(9)dm_test_color_depth_from_info_bpc10(9)dm_test_color_depth_from_info_zero_bpc_defaults_888(9)dm_test_color_depth_from_info_requested_bpc_caps(9)dm_test_color_depth_from_info_y420_default(9)dm_test_color_depth_from_info_y420_10bpc(9)dm_test_color_depth_from_info_y420_12bpc(9)dm_test_color_depth_from_info_y420_16bpc(9)dm_test_color_depth_from_info_requested_odd_bpc(9)dm_test_color_depth_from_info_unsupported_bpc(9)
๐ to connector type
dm_test_to_connector_type_hdmi(9)dm_test_to_connector_type_edp(9)dm_test_to_connector_type_lvds(9)dm_test_to_connector_type_rgb(9)dm_test_to_connector_type_dp(9)dm_test_to_connector_type_dp_mst(9)dm_test_to_connector_type_dvi_dvii(9)dm_test_to_connector_type_dual_link_dvii(9)dm_test_to_connector_type_dvi_dvid(9)dm_test_to_connector_type_dual_link_dvid(9)dm_test_to_connector_type_virtual(9)dm_test_to_connector_type_unknown(9)
๐ช duplicate mode, encoder crtc masks, aspect ratio
dm_test_is_duplicate_mode_empty_list(9)dm_test_is_duplicate_mode_match(9)dm_test_is_duplicate_mode_no_match(9)dm_test_is_duplicate_mode_same_size_different_clock(9)dm_test_encoder_crtc_mask_1(9)dm_test_encoder_crtc_mask_2(9)dm_test_encoder_crtc_mask_3(9)dm_test_encoder_crtc_mask_4(9)dm_test_encoder_crtc_mask_5(9)dm_test_encoder_crtc_mask_6(9)dm_test_encoder_crtc_mask_default(9)dm_test_aspect_ratio_no_data(9)dm_test_aspect_ratio_4_3(9)dm_test_aspect_ratio_16_9(9)dm_test_aspect_ratio_64_27(9)dm_test_aspect_ratio_256_135(9)
โฑ๏ธ crtc timing decisions
dm_test_copy_crtc_timing_copies_all_fields(9)dm_test_copy_crtc_timing_leaves_non_crtc_fields(9)dm_test_decide_crtc_timing_scale_enabled(9)dm_test_decide_crtc_timing_matching_mode(9)dm_test_decide_crtc_timing_no_copy(9)dm_test_decide_crtc_timing_no_crtc_clock(9)
๐ funcs reset, atomic dup, hdr
dm_test_funcs_reset_sets_defaults(9)dm_test_funcs_reset_edp_abm_level(9)dm_test_funcs_reset_edp_abm_disabled(9)dm_test_atomic_dup_state_copies_fields(9)dm_test_fill_hdr_null_metadata(9)dm_test_fill_hdr_zeroes_output(9)
โ๏ธ set_property gang
dm_test_set_property_scaling_center(9)dm_test_set_property_scaling_aspect(9)dm_test_set_property_scaling_fullscreen(9)dm_test_set_property_scaling_none(9)dm_test_set_property_scaling_unchanged(9)dm_test_set_property_underscan_hborder(9)dm_test_set_property_underscan_vborder(9)dm_test_set_property_underscan_enable(9)dm_test_set_property_abm_sysfs_control(9)dm_test_set_property_abm_level_off(9)dm_test_set_property_abm_level_value(9)dm_test_set_property_unknown(9)
๐ช get_property gang
dm_test_get_property_scaling_center(9)dm_test_get_property_scaling_aspect(9)dm_test_get_property_scaling_full(9)dm_test_get_property_scaling_off(9)dm_test_get_property_underscan_borders(9)dm_test_get_property_abm_sysfs_allowed(9)dm_test_get_property_abm_level(9)dm_test_get_property_abm_disabled_zero(9)dm_test_get_property_unknown(9)
๐ฅ highest refresh + freesync video mode
dm_test_highest_refresh_writeback_null(9)dm_test_highest_refresh_cached_base(9)dm_test_highest_refresh_preferred_mode(9)dm_test_is_freesync_video_mode_null_mode(9)dm_test_is_freesync_video_mode_match(9)dm_test_is_freesync_video_mode_no_match(9)
๐ cacp caps, part one
dm_test_cacp_caps_unsupported_ip(9)dm_test_cacp_caps_excluded_ip_316(9)dm_test_cacp_caps_edp_oled_supported(9)dm_test_cacp_caps_lvds_oled_supported(9)dm_test_cacp_caps_non_edp_signal(9)dm_test_cacp_caps_lcd_panel(9)
๐ฅ๏ธ set panel type, part one
dm_test_set_panel_type_vsdb_oled(9)dm_test_set_panel_type_vsdb_miniled(9)dm_test_set_panel_type_dpcd_oled(9)dm_test_set_panel_type_dpcd_miniled(9)dm_test_set_panel_type_did_oled(9)dm_test_set_panel_type_did_lcd(9)dm_test_set_panel_type_vendor_lum_heuristic(9)dm_test_set_panel_type_defaults_to_lcd(9)
๐ update subconnector (this page's cousin ๐ซถ)
dm_test_update_subconnector_dp_with_sink(9)dm_test_update_subconnector_dp_no_sink(9)dm_test_update_subconnector_non_dp_noop(9)
๐๏ธ fbc init + detect mst
dm_test_fbc_init_no_compressor(9)dm_test_fbc_init_non_edp(9)dm_test_fbc_init_already_allocated(9)dm_test_fbc_init_no_modes(9)dm_test_detect_mst_no_connectors(9)dm_test_detect_mst_skips_writeback(9)dm_test_detect_mst_non_mst_link(9)dm_test_detect_mst_branch_without_aux(9)
๐ find first crtc
dm_test_find_first_crtc_match(9)dm_test_find_first_crtc_no_match(9)dm_test_find_first_crtc_empty_state(9)dm_test_find_first_crtc_skips_null_ptr(9)dm_test_find_first_crtc_returns_first(9)
๐ฅ๏ธ set panel type, part two
dm_test_set_panel_type_samsung_miniled(9)dm_test_set_panel_type_samsung_below_threshold(9)dm_test_set_panel_type_default_lcd(9)
๐ cacp caps, part two
dm_test_cacp_caps_edp_supported(9)dm_test_cacp_caps_lvds_supported(9)dm_test_cacp_caps_old_ip_unsupported(9)dm_test_cacp_caps_ip_3_1_6_unsupported(9)dm_test_cacp_caps_non_edp_lvds_unsupported(9)dm_test_cacp_caps_lcd_unsupported(9)
๐ fill stream (big mood)
dm_test_fill_stream_borders_zeroed(9)dm_test_fill_stream_rgb_defaults(9)dm_test_fill_stream_sync_polarity_positive(9)dm_test_fill_stream_sync_polarity_negative(9)dm_test_fill_stream_inherits_old_stream(9)dm_test_fill_stream_timing_from_crtc(9)dm_test_fill_stream_color_depth_requested_bpc(9)dm_test_fill_stream_content_type(9)dm_test_fill_stream_aspect_ratio(9)dm_test_fill_stream_encoding_from_caller_ycbcr420(9)dm_test_fill_stream_encoding_from_caller_ycbcr422(9)dm_test_fill_stream_encoding_from_caller_ycbcr444(9)dm_test_fill_stream_hdmi_ep_clamps_depth(9)dm_test_fill_stream_non_hdmi_ep_keeps_depth(9)
๐ง create stream
dm_test_create_stream_fake_sink_success(9)dm_test_create_stream_sets_dm_context(9)dm_test_create_stream_virtual_signal(9)dm_test_create_stream_scaling_src(9)dm_test_create_stream_existing_sink(9)
๐ detect
dm_test_detect_force_on(9)dm_test_detect_force_on_digital(9)dm_test_detect_force_off(9)dm_test_detect_sink_present(9)dm_test_detect_no_sink(9)
๐ poll dac, late register, destroy, encoder disable
dm_test_poll_dac_load_returns_cached(9)dm_test_late_register_non_dp_succeeds(9)dm_test_destroy_minimal(9)dm_test_destroy_releases_dc_sink(9)dm_test_destroy_releases_dc_em_sink(9)dm_test_encoder_disable_noop(9)
โ atomic check
dm_test_atomic_check_edp_native_keeps_scaling(9)dm_test_atomic_check_lvds_non_native_enables_scaling(9)dm_test_atomic_check_non_mst_returns_zero(9)
๐บ hdmi cec + edid mgmt
dm_test_hdmi_cec_unset_edid_no_notifier(9)dm_test_create_eml_sink_no_edid(9)dm_test_handle_edid_mgmt_dp_sets_link_caps(9)dm_test_handle_edid_mgmt_non_dp_leaves_caps(9)dm_test_funcs_force_no_edid(9)dm_test_validate_stream_null_stream(9)
๐งญ to encoder + native mode
dm_test_to_encoder_no_encoder(9)dm_test_to_encoder_returns_attached(9)dm_test_native_mode_no_encoder(9)dm_test_native_mode_empty_probed_zeroes_clock(9)dm_test_native_mode_copies_preferred(9)
๐งฉ common modes / ddc / freesync modes
dm_test_create_common_mode_overrides(9)dm_test_add_common_modes_non_edp_noop(9)dm_test_add_common_modes_edp_adds(9)dm_test_ddc_get_modes_null_edid(9)dm_test_add_fs_modes_no_preferred_mode(9)dm_test_add_freesync_modes_null_edid_noop(9)
๐งต i2c / vsdb / displayid
dm_test_i2c_func_returns_flags(9)dm_test_i2c_xfer_no_ddc_pin(9)dm_test_get_amd_vsdb_unsupported(9)dm_test_get_amd_vsdb_supported(9)dm_test_parse_hdmi_amd_vsdb_null_edid(9)dm_test_parse_hdmi_amd_vsdb_no_extensions(9)dm_test_parse_hdmi_amd_vsdb_no_cea_ext(9)dm_test_parse_displayid_vrr_null_edid(9)dm_test_parse_displayid_vrr_no_displayid(9)dm_test_parse_displayid_vrr_sets_range(9)
๐ฆ mode valid / cec / s3
dm_test_mode_valid_interlace_rejected(9)dm_test_mode_valid_dblscan_rejected(9)dm_test_hdmi_cec_set_edid_no_notifier(9)dm_test_s3_handle_hdmi_cec_suspend(9)dm_test_s3_handle_hdmi_cec_resume(9)
๐ create validate / update after detect / update scaling (final stretch bestie)
dm_test_create_validate_stream_null_dm_state(9)dm_test_update_after_detect_mst_noop(9)dm_test_update_after_detect_sink_unchanged(9)dm_test_update_scaling_null_mode(9)dm_test_update_scaling_fullscreen_default(9)dm_test_update_scaling_rmx_full(9)dm_test_update_scaling_rmx_aspect_pillarbox(9)dm_test_update_scaling_rmx_aspect_letterbox(9)dm_test_update_scaling_rmx_center(9)dm_test_update_scaling_underscan(9)
ngl if you read that whole SEE ALSO list you're literally unstoppable ๐. Go drink some water, you earned it. ๐
and that's the page!! this little cutie lives in the source tree at <lavender>./drivers/gpu/drm/amd/display/...</lavender> and it's dated October 2026 ๐ธ โ that's the whole sign-off bestie, ily, go run your tests ๐ซถโจ๐
๐ฆ 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