dm_test_detect_force_on(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ dm_test_detect_force_on(9) ✨

okay so bestie, welcome to the Kernel API Manual πŸ’… you're looking at dm_test_detect_force_on(9) and honestly? it's a whole vibe. we're in the KUnit test suite for the amdgpu display driver, and this little icon is here to check one very specific thing and then go home. no cap.


🌸 NAME 🌸

dm_test_detect_force_on β€” the test where DRM_FORCE_ON should report connected πŸ”Œβœ¨ that's literally the whole job.


πŸŽ€ SYNOPSIS πŸŽ€

void dm_test_detect_force_on (struct kunit *test );

like, that's it. that's the signature. one argument, no return, main character energy 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • test β€” the KUnit test context πŸ’– the little struct that carries all the test scaffolding around so the test can do its thing. it's the backstage pass of the whole operation, iykyk.

🌈 SEE ALSO 🌈

okay so this part is long and I'm not skipping a single one of them, bestie β€” the whole test family is listed here and every single test is getting its moment πŸ‘‘

the kernel file lives at ./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c β€” Kernel file, bestie. that's where the party's at πŸŽ‰

the subconnector + content type girlies 🧚

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 + output colour space squad πŸ“

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), 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), 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 + duplicate modes + crtc masks πŸ’œ

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), 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)

timing + funcs reset gang ⭐

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), dm_test_fill_hdr_null_metadata(9), dm_test_fill_hdr_zeroes_output(9)

set/get property besties πŸ”₯

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), 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 + cacp caps energy πŸ¦‹

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), 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)

panel type detectives πŸ§šβ€β™€οΈ

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 + crtc hunting πŸ‘‘

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), 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)

more panel type + more cacp caps πŸ’€

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), 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 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 crew πŸŽ€

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)

the detect siblings (our girl's family fr) πŸ”Œ

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 icon behaviour πŸ’…

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)

hdmi cec + edid management πŸ™ˆ

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)

stream/encoder/mode validation ⭐

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), dm_test_i2c_func_returns_flags(9), dm_test_i2c_xfer_no_ddc_pin(9)

vsdb + displayid parsing detectives πŸ•΅οΈβ€β™€οΈ

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 suspend/resume + validate stream 😭

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), dm_test_create_validate_stream_null_dm_state(9)

update after detect + update scaling finale πŸ”₯

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)


and that's the whole roster, no cap, every last one of them πŸ’–


✨ cute little sign-off ✨

so that's the page, bestie 🫢 it came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β€” put it in your calendar, it's giving very demure, very mindful, very future-core πŸ’… see you in the next test πŸŽ€

πŸ“¦ where this page comes from