dm_test_fil...ler_ycbcr420(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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_none
  • dm_test_subconnector_type_vga
  • dm_test_subconnector_type_dvi_converter
  • dm_test_subconnector_type_dvi_dongle
  • dm_test_subconnector_type_hdmi_converter
  • dm_test_subconnector_type_hdmi_dongle
  • dm_test_subconnector_type_mismatched
  • dm_test_subconnector_type_default_unknown

πŸŽ€ content type era

  • dm_test_content_type_no_data
  • dm_test_content_type_graphics
  • dm_test_content_type_photo
  • dm_test_content_type_cinema
  • dm_test_content_type_game
  • dm_test_content_type_unknown_defaults_no_data

πŸ’… adjust colour depth, the glow-up arc

  • dm_test_adjust_colour_depth_fits_at_888
  • dm_test_adjust_colour_depth_reduces_to_888
  • dm_test_adjust_colour_depth_10bpc_passes
  • dm_test_adjust_colour_depth_420_halves_clk
  • dm_test_adjust_colour_depth_420_reduces
  • dm_test_adjust_colour_depth_reduces_12bpc_to_10bpc
  • dm_test_adjust_colour_depth_16bpc_no_fallback
  • dm_test_adjust_colour_depth_none_fits
  • dm_test_adjust_colour_depth_invalid_depth

🌈 output color space (the whole rainbow, literally)

  • dm_test_output_color_space_default_rgb_full
  • dm_test_output_color_space_default_rgb_limited
  • dm_test_output_color_space_default_ycbcr709
  • dm_test_output_color_space_default_ycbcr601_limited
  • dm_test_output_color_space_bt601_y_only
  • dm_test_output_color_space_bt601
  • dm_test_output_color_space_bt709
  • dm_test_output_color_space_bt709_y_only
  • dm_test_output_color_space_oprgb
  • dm_test_output_color_space_bt2020_rgb
  • dm_test_output_color_space_bt2020_rgb_limited
  • dm_test_output_color_space_default_rgb_auto_hdmi_cta
  • dm_test_output_color_space_default_rgb_auto_hdmi_vga
  • dm_test_output_color_space_default_rgb_auto_dp_cta
  • dm_test_output_color_space_default_rgb_full_hdmi_cta
  • dm_test_output_color_space_bt2020_rgb_auto_hdmi_cta
  • dm_test_output_color_space_bt2020_ycc
  • dm_test_output_color_space_default_ycbcr709_y_only
  • dm_test_output_color_space_default_ycbcr601
  • dm_test_output_color_space_bt2020_ycc_rgb_encoding
  • dm_test_output_color_space_bt2020_ycc_rgb_encoding_limited
  • dm_test_output_color_space_bt2020_rgb_ycc_encoding

πŸ’œ depth conversion + depth-from-info squad

  • dm_test_convert_color_depth_bpc_mappings
  • dm_test_convert_color_depth_bpc_unknown
  • dm_test_color_depth_from_info_bpc8
  • dm_test_color_depth_from_info_bpc10
  • dm_test_color_depth_from_info_zero_bpc_defaults_888
  • dm_test_color_depth_from_info_requested_bpc_caps
  • dm_test_color_depth_from_info_y420_default
  • dm_test_color_depth_from_info_y420_10bpc
  • dm_test_color_depth_from_info_y420_12bpc
  • dm_test_color_depth_from_info_y420_16bpc
  • dm_test_color_depth_from_info_requested_odd_bpc
  • dm_test_color_depth_from_info_unsupported_bpc

🌸 to_connector_type besties

  • dm_test_to_connector_type_hdmi
  • dm_test_to_connector_type_edp
  • dm_test_to_connector_type_lvds
  • dm_test_to_connector_type_rgb
  • dm_test_to_connector_type_dp
  • dm_test_to_connector_type_dp_mst
  • dm_test_to_connector_type_dvi_dvii
  • dm_test_to_connector_type_dual_link_dvii
  • dm_test_to_connector_type_dvi_dvid
  • dm_test_to_connector_type_dual_link_dvid
  • dm_test_to_connector_type_virtual
  • dm_test_to_connector_type_unknown

🧚 duplicate modes, crtc masks, aspect ratios β€” a little trio

  • dm_test_is_duplicate_mode_empty_list
  • dm_test_is_duplicate_mode_match
  • dm_test_is_duplicate_mode_no_match
  • dm_test_is_duplicate_mode_same_size_different_clock
  • dm_test_encoder_crtc_mask_1
  • dm_test_encoder_crtc_mask_2
  • dm_test_encoder_crtc_mask_3
  • dm_test_encoder_crtc_mask_4
  • dm_test_encoder_crtc_mask_5
  • dm_test_encoder_crtc_mask_6
  • dm_test_encoder_crtc_mask_default
  • dm_test_aspect_ratio_no_data
  • dm_test_aspect_ratio_4_3
  • dm_test_aspect_ratio_16_9
  • dm_test_aspect_ratio_64_27
  • dm_test_aspect_ratio_256_135

⭐ crtc timing, funcs reset, atomic dup, fill_hdr

  • dm_test_copy_crtc_timing_copies_all_fields
  • dm_test_copy_crtc_timing_leaves_non_crtc_fields
  • dm_test_decide_crtc_timing_scale_enabled
  • dm_test_decide_crtc_timing_matching_mode
  • dm_test_decide_crtc_timing_no_copy
  • dm_test_decide_crtc_timing_no_crtc_clock
  • dm_test_funcs_reset_sets_defaults
  • dm_test_funcs_reset_edp_abm_level
  • dm_test_funcs_reset_edp_abm_disabled
  • dm_test_atomic_dup_state_copies_fields
  • dm_test_fill_hdr_null_metadata
  • dm_test_fill_hdr_zeroes_output

πŸ”₯ set_property gang

  • dm_test_set_property_scaling_center
  • dm_test_set_property_scaling_aspect
  • dm_test_set_property_scaling_fullscreen
  • dm_test_set_property_scaling_none
  • dm_test_set_property_scaling_unchanged
  • dm_test_set_property_underscan_hborder
  • dm_test_set_property_underscan_vborder
  • dm_test_set_property_underscan_enable
  • dm_test_set_property_abm_sysfs_control
  • dm_test_set_property_abm_level_off
  • dm_test_set_property_abm_level_value
  • dm_test_set_property_unknown

πŸ’– get_property gang

  • dm_test_get_property_scaling_center
  • dm_test_get_property_scaling_aspect
  • dm_test_get_property_scaling_full
  • dm_test_get_property_scaling_off
  • dm_test_get_property_underscan_borders
  • dm_test_get_property_abm_sysfs_allowed
  • dm_test_get_property_abm_level
  • dm_test_get_property_abm_disabled_zero
  • dm_test_get_property_unknown

πŸ‘‘ refresh, freesync video mode, cacp caps, panel type

  • dm_test_highest_refresh_writeback_null
  • dm_test_highest_refresh_cached_base
  • dm_test_highest_refresh_preferred_mode
  • dm_test_is_freesync_video_mode_null_mode
  • dm_test_is_freesync_video_mode_match
  • dm_test_is_freesync_video_mode_no_match
  • dm_test_cacp_caps_unsupported_ip
  • dm_test_cacp_caps_excluded_ip_316
  • dm_test_cacp_caps_edp_oled_supported
  • dm_test_cacp_caps_lvds_oled_supported
  • dm_test_cacp_caps_non_edp_signal
  • dm_test_cacp_caps_lcd_panel
  • dm_test_set_panel_type_vsdb_oled
  • dm_test_set_panel_type_vsdb_miniled
  • dm_test_set_panel_type_dpcd_oled
  • dm_test_set_panel_type_dpcd_miniled
  • dm_test_set_panel_type_did_oled
  • dm_test_set_panel_type_did_lcd
  • dm_test_set_panel_type_vendor_lum_heuristic
  • dm_test_set_panel_type_defaults_to_lcd

πŸ“ subconnector updates, fbc init, mst detect, first crtc

  • dm_test_update_subconnector_dp_with_sink
  • dm_test_update_subconnector_dp_no_sink
  • dm_test_update_subconnector_non_dp_noop
  • dm_test_fbc_init_no_compressor
  • dm_test_fbc_init_non_edp
  • dm_test_fbc_init_already_allocated
  • dm_test_fbc_init_no_modes
  • dm_test_detect_mst_no_connectors
  • dm_test_detect_mst_skips_writeback
  • dm_test_detect_mst_non_mst_link
  • dm_test_detect_mst_branch_without_aux
  • dm_test_find_first_crtc_match
  • dm_test_find_first_crtc_no_match
  • dm_test_find_first_crtc_empty_state
  • dm_test_find_first_crtc_skips_null_ptr
  • dm_test_find_first_crtc_returns_first

πŸŽ€ panel type round two (samsung edition) + more cacp caps

  • dm_test_set_panel_type_samsung_miniled
  • dm_test_set_panel_type_samsung_below_threshold
  • dm_test_set_panel_type_default_lcd
  • dm_test_cacp_caps_edp_supported
  • dm_test_cacp_caps_lvds_supported
  • dm_test_cacp_caps_old_ip_unsupported
  • dm_test_cacp_caps_ip_3_1_6_unsupported
  • dm_test_cacp_caps_non_edp_lvds_unsupported
  • dm_test_cacp_caps_lcd_unsupported

πŸ¦‹ fill_stream + create_stream, the whole set

  • dm_test_fill_stream_borders_zeroed
  • dm_test_fill_stream_rgb_defaults
  • dm_test_fill_stream_sync_polarity_positive
  • dm_test_fill_stream_sync_polarity_negative
  • dm_test_fill_stream_inherits_old_stream
  • dm_test_fill_stream_timing_from_crtc
  • dm_test_fill_stream_color_depth_requested_bpc
  • dm_test_fill_stream_content_type
  • dm_test_fill_stream_aspect_ratio
  • dm_test_fill_stream_encoding_from_caller_ycbcr422
  • dm_test_fill_stream_encoding_from_caller_ycbcr444
  • dm_test_fill_stream_hdmi_ep_clamps_depth
  • dm_test_fill_stream_non_hdmi_ep_keeps_depth
  • dm_test_create_stream_fake_sink_success
  • dm_test_create_stream_sets_dm_context
  • dm_test_create_stream_virtual_signal
  • dm_test_create_stream_scaling_src
  • dm_test_create_stream_existing_sink

🌈 detect, dac, register/unregister, destroy, atomic check

  • dm_test_detect_force_on
  • dm_test_detect_force_on_digital
  • dm_test_detect_force_off
  • dm_test_detect_sink_present
  • dm_test_detect_no_sink
  • dm_test_poll_dac_load_returns_cached
  • dm_test_late_register_non_dp_succeeds
  • dm_test_unregister_non_dp_noop
  • dm_test_destroy_minimal
  • dm_test_destroy_releases_dc_sink
  • dm_test_destroy_releases_dc_em_sink
  • dm_test_encoder_disable_noop
  • dm_test_atomic_check_edp_native_keeps_scaling
  • dm_test_atomic_check_lvds_non_native_enables_scaling
  • dm_test_atomic_check_non_mst_returns_zero

πŸ’€ cec, eml sink, edid mgmt, force no edid, stream validation

  • dm_test_hdmi_cec_unset_edid_no_notifier
  • dm_test_create_eml_sink_no_edid
  • dm_test_handle_edid_mgmt_dp_sets_link_caps
  • dm_test_handle_edid_mgmt_non_dp_leaves_caps
  • dm_test_funcs_force_no_edid
  • dm_test_validate_stream_null_stream
  • dm_test_to_encoder_no_encoder
  • dm_test_to_encoder_returns_attached
  • dm_test_native_mode_no_encoder
  • dm_test_native_mode_empty_probed_zeroes_clock
  • dm_test_native_mode_copies_preferred

🌸 common modes, fs modes, i2c

  • dm_test_create_common_mode_overrides
  • dm_test_add_common_modes_non_edp_noop
  • dm_test_add_common_modes_edp_adds
  • dm_test_ddc_get_modes_null_edid
  • dm_test_add_fs_modes_no_preferred_mode
  • dm_test_add_freesync_modes_null_edid_noop
  • dm_test_i2c_func_returns_flags
  • dm_test_i2c_xfer_no_ddc_pin

🧚 amd_vsdb, displayid vrr, mode valid, cec set edid, s3

  • dm_test_get_amd_vsdb_unsupported
  • dm_test_get_amd_vsdb_supported
  • dm_test_parse_hdmi_amd_vsdb_null_edid
  • dm_test_parse_hdmi_amd_vsdb_no_extensions
  • dm_test_parse_hdmi_amd_vsdb_no_cea_ext
  • dm_test_parse_displayid_vrr_null_edid
  • dm_test_parse_displayid_vrr_no_displayid
  • dm_test_parse_displayid_vrr_sets_range
  • dm_test_mode_valid_interlace_rejected
  • dm_test_mode_valid_dblscan_rejected
  • dm_test_hdmi_cec_set_edid_no_notifier
  • dm_test_s3_handle_hdmi_cec_suspend
  • dm_test_s3_handle_hdmi_cec_resume

πŸ’œ the final stretch β€” validate stream, update after detect, update scaling

  • dm_test_create_validate_stream_null_dm_state
  • dm_test_update_after_detect_mst_noop
  • dm_test_update_after_detect_sink_unchanged
  • dm_test_update_scaling_null_mode
  • dm_test_update_scaling_fullscreen_default
  • dm_test_update_scaling_rmx_full
  • dm_test_update_scaling_rmx_aspect_pillarbox
  • dm_test_update_scaling_rmx_aspect_letterbox
  • dm_test_update_scaling_rmx_center
  • dm_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