dm_test_help...wport_reject(9)
π dm_test_help...wport_reject β Kernel API Manual π
okay so real talk, the full name of this page is dm_test_help...wport_reject(9) (yes it's abbreviated, yes it's a little mysterious, it's giving "name too long for the header, we tried our best π") and it lives in the Kernel API Manual. The star of the show inside is dm_test_helper_check_state_viewport_reject and bestie, it does exactly one job and it does it slayfully.
β¨ NAME β¨
dm_test_helper_check_state_viewport_reject β Verify viewport outside screen rejects state.
Like, literally: check that the plane state gets rejected when the viewport is outside the display bounds. Nothing more, nothing less. Iconic minimalism. π
πΈ SYNOPSIS πΈ
void dm_test_helper_check_state_viewport_reject (struct kunit *test );
That's it. That's the whole signature. One param, no return value (void), pure vibes. π¦
π ARGUMENTS π
testβ KUnit test context. This is the little test-harness bestie that carries everything the test framework needs to know about the run. Hand it over and let it do its thing. π«Ά
π₯ DESCRIPTION π₯
So the whole point of this test helper: you know how if you shove a plane's viewport somewhere off the edge of the display it shouldn't just... work? Like, that's not allowed, that's illegal, that's out of bounds literally?
Right. So this helper verifies that the plane state is rejected when the viewport is outside display bounds. The state should get rejected, no cap. If it doesn't, your test is gonna have a bad time and honestly so will you π. It's a validation vibe check for the DRM/AMD display plane code, and it ate. β
π¦ SEE ALSO π¦
π Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_plane_test.c
π― the whole friend group
dm_test_plane_is_video_format_known_video(9)dm_test_fill_blending_defaults(9)dm_test_fill_blending_premulti_alpha_format(9)dm_test_fill_blending_coverage_alpha_format(9)dm_test_fill_blending_global_alpha(9)dm_test_modifier_has_dcc(9)dm_test_modifier_gfx9_swizzle_mode(9)dm_test_get_plane_formats(9)dm_test_get_plane_modifiers(9)dm_test_fill_dc_scaling_info(9)dm_test_get_min_max_dc_plane_scaling(9)dm_test_get_cursor_position(9)dm_test_format_mod_supported(9)dm_test_fill_gfx12_plane_attributes_from_modifiers(9)dm_test_fill_gfx9_plane_attributes_from_modifiers(9)dm_test_validate_dcc_disabled_returns_success(9)dm_test_validate_dcc_video_non_gfx12_fails(9)dm_test_validate_dcc_missing_cap_func_fails(9)dm_test_validate_dcc_cap_callback_fails(9)dm_test_validate_dcc_not_capable_fails(9)dm_test_validate_dcc_success_and_scan_mapping(9)dm_test_validate_dcc_independent_64b_mismatch_fails(9)dm_test_add_modifier_appends_value(9)dm_test_add_modifier_grows_capacity(9)dm_test_add_modifier_noop_when_mods_null(9)dm_test_fill_gfx9_tiling_info_from_device_pre_10_3(9)dm_test_fill_gfx9_tiling_info_from_device_10_3_plus(9)dm_test_fill_gfx9_tiling_info_from_modifier_linear(9)dm_test_fill_gfx9_tiling_info_from_modifier_pre_nv(9)dm_test_fill_gfx9_tiling_info_from_modifier_nv(9)dm_test_get_format_info(9)dm_test_fill_blending_global_alpha_dcn42(9)dm_test_get_plane_formats_overlay_universal_cap(9)dm_test_get_plane_modifiers_gfx9(9)dm_test_get_plane_modifiers_rv(9)dm_test_get_plane_modifiers_rv_constant_encode(9)dm_test_get_plane_modifiers_gfx10_1(9)dm_test_get_plane_modifiers_gfx10_3(9)dm_test_get_plane_modifiers_gfx11_64k_first(9)dm_test_get_plane_modifiers_gfx11_256k_first(9)dm_test_get_plane_modifiers_gfx12(9)dm_test_fill_gfx9_plane_attributes_dcc(9)dm_test_fill_gfx9_plane_attributes_validate_fails(9)dm_test_fill_gfx9_plane_attributes_dcc_rbplus_64b_no_128bcl(9)dm_test_fill_gfx9_plane_attributes_dcc_rbplus_128b(9)dm_test_fill_gfx9_plane_attributes_dcc_rbplus_unconstrained(9)dm_test_fill_gfx9_plane_attributes_dcc_gfx9_64b(9)dm_test_fill_gfx9_plane_attributes_dcc_gfx9_unconstrained(9)dm_test_fill_gfx12_plane_attributes_block0(9)dm_test_fill_gfx12_plane_attributes_block_unconstrained(9)dm_test_fill_gfx12_plane_attributes_validate_fails(9)dm_test_fill_plane_buffer_attributes_video(9)dm_test_fill_plane_buffer_attributes_gfx12(9)dm_test_get_min_max_dc_plane_scaling_fp16(9)dm_test_helper_check_state_small_viewport_width(9)dm_test_helper_check_state_small_viewport_height(9)dm_test_helper_check_state_bottom_clipped_height(9)dm_test_helper_check_state_scaling_caps(9)dm_test_fill_dc_scaling_info_nv12_dcn1x(9)dm_test_fill_dc_scaling_info_plane_caps(9)dm_test_get_cursor_position_bad_size(9)dm_test_format_mod_supported_d_swizzle_reject(9)dm_test_atomic_async_check_rejects(9)dm_test_atomic_async_check_overlay_cursor(9)dm_test_atomic_check_no_dc_state(9)dm_test_atomic_check_missing_crtc_state(9)dm_test_atomic_check_helper_failure(9)dm_test_atomic_check_color_pipeline_conflict(9)dm_test_atomic_check_scaling_failure(9)dm_test_panic_flush_no_dc_state(9)dm_test_plane_reset_initializes_state(9)dm_test_plane_duplicate_state_copies_fields(9)dm_test_plane_destroy_state_minimal(9)
like, that's the whole plane-testing squad right there, and they all said "no viewport left behind" π
and that's the page, bestie β¨ it ships out of ./drivers/gpu/drm/amd/display/... and it's dated October 2026, so mark your calendars and stan responsibly ππ
π¦ 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