dm_test_fil...ler_ycbcr420(9)
π dm_test_fil...ler_ycbcr420(9) π
okay so bestie, welcome to the Kernel API Manual β this is the page for dm_test_fil...ler_ycbcr420(9) and honestly it's a whole little vibe. let's get into it π
β¨ NAME β¨
dm_test_fill_stream_encoding_from_caller_ycbcr420 β the test for caller-selected 420, periodt. π¦
β¨ SYNOPSIS β¨
void dm_test_fill_stream_encoding_from_caller_ycbcr420 (struct kunit
*test );
β¨ ARGUMENTS β¨
testβ the KUnit test context π§ that's it, that's the whole argument list, she's lowkey minimal
β¨ DESCRIPTION β¨
okay so here's the tea β β this helper no longer derives the pixel encoding from the display info. like, that era is over. instead, it applies whatever the caller selected. caller says jump, the helper says how high π
and the main character moment here: passing YCbCr420 must be honoured β even though the DisplayPort sink advertises no YCbCr color formats. yeah. the sink is out here claiming it doesn't support YCbCr at all, and the helper still has to respect the caller's choice. no cap, that's the entire point of the test π₯
so like, if you were wondering "will it fall back to something sensible when the sink says no?" β nope! the caller picked 420, so it's 420. the display info doesn't get a vote. π
<span>more parts coming bestie, don't go anywhere π«Ά</span>
β¨ SEE ALSO β¨
ok so before you go, bestie, here's the whole group chat β every single tester that lives next door to this one π
The kernel file these all hang out in is literally this one right here:
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c
and now the roll call, no cap, everyone's invited π«Ά
π¦ the subconnector type girlies
dm_test_subconnector_type_nonedm_test_subconnector_type_vgadm_test_subconnector_type_dvi_converterdm_test_subconnector_type_dvi_dongledm_test_subconnector_type_hdmi_converterdm_test_subconnector_type_hdmi_dongledm_test_subconnector_type_mismatcheddm_test_subconnector_type_default_unknown
π content type era
dm_test_content_type_no_datadm_test_content_type_graphicsdm_test_content_type_photodm_test_content_type_cinemadm_test_content_type_gamedm_test_content_type_unknown_defaults_no_data
π adjust colour depth, the glow-up arc
dm_test_adjust_colour_depth_fits_at_888dm_test_adjust_colour_depth_reduces_to_888dm_test_adjust_colour_depth_10bpc_passesdm_test_adjust_colour_depth_420_halves_clkdm_test_adjust_colour_depth_420_reducesdm_test_adjust_colour_depth_reduces_12bpc_to_10bpcdm_test_adjust_colour_depth_16bpc_no_fallbackdm_test_adjust_colour_depth_none_fitsdm_test_adjust_colour_depth_invalid_depth
π output color space (the whole rainbow, literally)
dm_test_output_color_space_default_rgb_fulldm_test_output_color_space_default_rgb_limiteddm_test_output_color_space_default_ycbcr709dm_test_output_color_space_default_ycbcr601_limiteddm_test_output_color_space_bt601_y_onlydm_test_output_color_space_bt601dm_test_output_color_space_bt709dm_test_output_color_space_bt709_y_onlydm_test_output_color_space_oprgbdm_test_output_color_space_bt2020_rgbdm_test_output_color_space_bt2020_rgb_limiteddm_test_output_color_space_default_rgb_auto_hdmi_ctadm_test_output_color_space_default_rgb_auto_hdmi_vgadm_test_output_color_space_default_rgb_auto_dp_ctadm_test_output_color_space_default_rgb_full_hdmi_ctadm_test_output_color_space_bt2020_rgb_auto_hdmi_ctadm_test_output_color_space_bt2020_yccdm_test_output_color_space_default_ycbcr709_y_onlydm_test_output_color_space_default_ycbcr601dm_test_output_color_space_bt2020_ycc_rgb_encodingdm_test_output_color_space_bt2020_ycc_rgb_encoding_limiteddm_test_output_color_space_bt2020_rgb_ycc_encoding
π depth conversion + depth-from-info squad
dm_test_convert_color_depth_bpc_mappingsdm_test_convert_color_depth_bpc_unknowndm_test_color_depth_from_info_bpc8dm_test_color_depth_from_info_bpc10dm_test_color_depth_from_info_zero_bpc_defaults_888dm_test_color_depth_from_info_requested_bpc_capsdm_test_color_depth_from_info_y420_defaultdm_test_color_depth_from_info_y420_10bpcdm_test_color_depth_from_info_y420_12bpcdm_test_color_depth_from_info_y420_16bpcdm_test_color_depth_from_info_requested_odd_bpcdm_test_color_depth_from_info_unsupported_bpc
πΈ to_connector_type besties
dm_test_to_connector_type_hdmidm_test_to_connector_type_edpdm_test_to_connector_type_lvdsdm_test_to_connector_type_rgbdm_test_to_connector_type_dpdm_test_to_connector_type_dp_mstdm_test_to_connector_type_dvi_dviidm_test_to_connector_type_dual_link_dviidm_test_to_connector_type_dvi_dviddm_test_to_connector_type_dual_link_dviddm_test_to_connector_type_virtualdm_test_to_connector_type_unknown
π§ duplicate modes, crtc masks, aspect ratios β a little trio
dm_test_is_duplicate_mode_empty_listdm_test_is_duplicate_mode_matchdm_test_is_duplicate_mode_no_matchdm_test_is_duplicate_mode_same_size_different_clockdm_test_encoder_crtc_mask_1dm_test_encoder_crtc_mask_2dm_test_encoder_crtc_mask_3dm_test_encoder_crtc_mask_4dm_test_encoder_crtc_mask_5dm_test_encoder_crtc_mask_6dm_test_encoder_crtc_mask_defaultdm_test_aspect_ratio_no_datadm_test_aspect_ratio_4_3dm_test_aspect_ratio_16_9dm_test_aspect_ratio_64_27dm_test_aspect_ratio_256_135
β crtc timing, funcs reset, atomic dup, fill_hdr
dm_test_copy_crtc_timing_copies_all_fieldsdm_test_copy_crtc_timing_leaves_non_crtc_fieldsdm_test_decide_crtc_timing_scale_enableddm_test_decide_crtc_timing_matching_modedm_test_decide_crtc_timing_no_copydm_test_decide_crtc_timing_no_crtc_clockdm_test_funcs_reset_sets_defaultsdm_test_funcs_reset_edp_abm_leveldm_test_funcs_reset_edp_abm_disableddm_test_atomic_dup_state_copies_fieldsdm_test_fill_hdr_null_metadatadm_test_fill_hdr_zeroes_output
π₯ set_property gang
dm_test_set_property_scaling_centerdm_test_set_property_scaling_aspectdm_test_set_property_scaling_fullscreendm_test_set_property_scaling_nonedm_test_set_property_scaling_unchangeddm_test_set_property_underscan_hborderdm_test_set_property_underscan_vborderdm_test_set_property_underscan_enabledm_test_set_property_abm_sysfs_controldm_test_set_property_abm_level_offdm_test_set_property_abm_level_valuedm_test_set_property_unknown
π get_property gang
dm_test_get_property_scaling_centerdm_test_get_property_scaling_aspectdm_test_get_property_scaling_fulldm_test_get_property_scaling_offdm_test_get_property_underscan_bordersdm_test_get_property_abm_sysfs_alloweddm_test_get_property_abm_leveldm_test_get_property_abm_disabled_zerodm_test_get_property_unknown
π refresh, freesync video mode, cacp caps, panel type
dm_test_highest_refresh_writeback_nulldm_test_highest_refresh_cached_basedm_test_highest_refresh_preferred_modedm_test_is_freesync_video_mode_null_modedm_test_is_freesync_video_mode_matchdm_test_is_freesync_video_mode_no_matchdm_test_cacp_caps_unsupported_ipdm_test_cacp_caps_excluded_ip_316dm_test_cacp_caps_edp_oled_supporteddm_test_cacp_caps_lvds_oled_supporteddm_test_cacp_caps_non_edp_signaldm_test_cacp_caps_lcd_paneldm_test_set_panel_type_vsdb_oleddm_test_set_panel_type_vsdb_minileddm_test_set_panel_type_dpcd_oleddm_test_set_panel_type_dpcd_minileddm_test_set_panel_type_did_oleddm_test_set_panel_type_did_lcddm_test_set_panel_type_vendor_lum_heuristicdm_test_set_panel_type_defaults_to_lcd
π subconnector updates, fbc init, mst detect, first crtc
dm_test_update_subconnector_dp_with_sinkdm_test_update_subconnector_dp_no_sinkdm_test_update_subconnector_non_dp_noopdm_test_fbc_init_no_compressordm_test_fbc_init_non_edpdm_test_fbc_init_already_allocateddm_test_fbc_init_no_modesdm_test_detect_mst_no_connectorsdm_test_detect_mst_skips_writebackdm_test_detect_mst_non_mst_linkdm_test_detect_mst_branch_without_auxdm_test_find_first_crtc_matchdm_test_find_first_crtc_no_matchdm_test_find_first_crtc_empty_statedm_test_find_first_crtc_skips_null_ptrdm_test_find_first_crtc_returns_first
π panel type round two (samsung edition) + more cacp caps
dm_test_set_panel_type_samsung_minileddm_test_set_panel_type_samsung_below_thresholddm_test_set_panel_type_default_lcddm_test_cacp_caps_edp_supporteddm_test_cacp_caps_lvds_supporteddm_test_cacp_caps_old_ip_unsupporteddm_test_cacp_caps_ip_3_1_6_unsupporteddm_test_cacp_caps_non_edp_lvds_unsupporteddm_test_cacp_caps_lcd_unsupported
π¦ fill_stream + create_stream, the whole set
dm_test_fill_stream_borders_zeroeddm_test_fill_stream_rgb_defaultsdm_test_fill_stream_sync_polarity_positivedm_test_fill_stream_sync_polarity_negativedm_test_fill_stream_inherits_old_streamdm_test_fill_stream_timing_from_crtcdm_test_fill_stream_color_depth_requested_bpcdm_test_fill_stream_content_typedm_test_fill_stream_aspect_ratiodm_test_fill_stream_encoding_from_caller_ycbcr422dm_test_fill_stream_encoding_from_caller_ycbcr444dm_test_fill_stream_hdmi_ep_clamps_depthdm_test_fill_stream_non_hdmi_ep_keeps_depthdm_test_create_stream_fake_sink_successdm_test_create_stream_sets_dm_contextdm_test_create_stream_virtual_signaldm_test_create_stream_scaling_srcdm_test_create_stream_existing_sink
π detect, dac, register/unregister, destroy, atomic check
dm_test_detect_force_ondm_test_detect_force_on_digitaldm_test_detect_force_offdm_test_detect_sink_presentdm_test_detect_no_sinkdm_test_poll_dac_load_returns_cacheddm_test_late_register_non_dp_succeedsdm_test_unregister_non_dp_noopdm_test_destroy_minimaldm_test_destroy_releases_dc_sinkdm_test_destroy_releases_dc_em_sinkdm_test_encoder_disable_noopdm_test_atomic_check_edp_native_keeps_scalingdm_test_atomic_check_lvds_non_native_enables_scalingdm_test_atomic_check_non_mst_returns_zero
π cec, eml sink, edid mgmt, force no edid, stream validation
dm_test_hdmi_cec_unset_edid_no_notifierdm_test_create_eml_sink_no_ediddm_test_handle_edid_mgmt_dp_sets_link_capsdm_test_handle_edid_mgmt_non_dp_leaves_capsdm_test_funcs_force_no_ediddm_test_validate_stream_null_streamdm_test_to_encoder_no_encoderdm_test_to_encoder_returns_attacheddm_test_native_mode_no_encoderdm_test_native_mode_empty_probed_zeroes_clockdm_test_native_mode_copies_preferred
πΈ common modes, fs modes, i2c
dm_test_create_common_mode_overridesdm_test_add_common_modes_non_edp_noopdm_test_add_common_modes_edp_addsdm_test_ddc_get_modes_null_ediddm_test_add_fs_modes_no_preferred_modedm_test_add_freesync_modes_null_edid_noopdm_test_i2c_func_returns_flagsdm_test_i2c_xfer_no_ddc_pin
π§ amd_vsdb, displayid vrr, mode valid, cec set edid, s3
dm_test_get_amd_vsdb_unsupporteddm_test_get_amd_vsdb_supporteddm_test_parse_hdmi_amd_vsdb_null_ediddm_test_parse_hdmi_amd_vsdb_no_extensionsdm_test_parse_hdmi_amd_vsdb_no_cea_extdm_test_parse_displayid_vrr_null_ediddm_test_parse_displayid_vrr_no_displayiddm_test_parse_displayid_vrr_sets_rangedm_test_mode_valid_interlace_rejecteddm_test_mode_valid_dblscan_rejecteddm_test_hdmi_cec_set_edid_no_notifierdm_test_s3_handle_hdmi_cec_suspenddm_test_s3_handle_hdmi_cec_resume
π the final stretch β validate stream, update after detect, update scaling
dm_test_create_validate_stream_null_dm_statedm_test_update_after_detect_mst_noopdm_test_update_after_detect_sink_unchangeddm_test_update_scaling_null_modedm_test_update_scaling_fullscreen_defaultdm_test_update_scaling_rmx_fulldm_test_update_scaling_rmx_aspect_pillarboxdm_test_update_scaling_rmx_aspect_letterboxdm_test_update_scaling_rmx_centerdm_test_update_scaling_underscan
ok that's literally all of them, go click through the links bestie, ily, drink some water πβ¨
and that's a wrap on this one β source lives at ./drivers/gpu/drm/amd/display/..., this page is dm_test_fil...ler_ycbcr420(9), and it's dated October 2026. slay, bye ππ
π¦ 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