dm_test_cre...sink_no_edid(9)
π dm_test_cre...sink_no_edid(9) β Kernel API Manual, section 9, bestie β¨
okay so this is dm_test_create_eml_sink_no_edid(9) from the Kernel API Manual (section 9, the kernel-girlies section, iykyk), and honestly? it's a little icon. it's a KUnit test that checks the no-EDID branch and confirms it creates, like, absolutely no sink. zero. nada. not one emulated sink π
β¨ NAME β¨
dm_test_create_eml_sink_no_edid β literally just testing that the no-EDID branch creates no sink π¦
πΈ SYNOPSIS πΈ
void dm_test_create_eml_sink_no_edid (struct kunit *test );
π ARGUMENTS π
testβ The KUnit test context π this is the lil test bubble everything gets reported into, no cap
π§ DESCRIPTION π§
so here's the vibe: when no EDID can be read, the function logs an error and returns without allocating an emulated sink. that's it, that's the whole test. it's giving "we tried to get the display's selfie and it ghosted us, so we're not making a fake one" π
the branch is: no EDID readable β log an error β bail out β no emulated sink gets allocated. our girl is just making sure that bail-out actually bails and doesn't sneak an emulated sink into existence behind everyone's back π
π SEE ALSO π
okay this list is long long, so buckle up bestie, I've grouped the girlies by vibe but kept them all in the original order, fr fr π
π«Ά connectors + content types
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)
π¨ colour depth adjusting
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 colour space (this whole section ate)
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)
π colour depth conversions + 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)
π¦ connector types
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 modes, crtc masks, aspect ratios
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 + funcs reset + atomic state
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)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)
π hdr + properties (set)
dm_test_fill_hdr_null_metadata(9),dm_test_fill_hdr_zeroes_output(9)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)
π§Έ properties (get)
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)
π₯ 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 + panel types
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)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)
π subconnector updates + fbc + mst detect
dm_test_update_subconnector_dp_with_sink(9),dm_test_update_subconnector_dp_no_sink(9),dm_test_update_subconnector_non_dp_noop(9)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)
π crtc finding + more panel types
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)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, the sequel
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 (she has a whole era)
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 + detect
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)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)
π misc lifecycle
dm_test_poll_dac_load_returns_cached(9)dm_test_late_register_non_dp_succeeds(9)dm_test_unregister_non_dp_noop(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)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)dm_test_hdmi_cec_unset_edid_no_notifier(9)dm_test_handle_edid_mgmt_dp_sets_link_caps(9),dm_test_handle_edid_mgmt_non_dp_leaves_caps(9)
π edid + encoder + native mode + common modes
dm_test_funcs_force_no_edid(9)dm_test_validate_stream_null_stream(9)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)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 vrr + mode validation
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)dm_test_mode_valid_interlace_rejected(9),dm_test_mode_valid_dblscan_rejected(9)
β hdmi cec + s3 + the finishing stretch
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)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)
also the file itself, the main character:
- Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.cπβ¨
ngl bestie that SEE ALSO list is a whole personality β read it responsibly π
and that's the page!! source is ./drivers/gpu/drm/amd/display/..., dated October 2026, from the Kernel API Manual β mwah, slay, go run your kunit 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