dm_test_upda...lor_mgmt_ctm(9)
π dm_test_upda...lor_mgmt_ctm π
okay so bestie, welcome to the Kernel API Manual β yes, this is a real page from the dm_test_upda...lor_mgmt_ctm(9) section and no, the title isn't actually drunk, the man page renderer just ran out of room and gave us the ol' ... treatment π
β¨ NAME β¨
dm_test_update_crtc_color_mgmt_ctm β the CRTC CTM enables stream gamut remap test. that's the whole vibe. it's a KUnit test that checks the CTM (color transform matrix, iykyk) on the CRTC actually turns on that stream gamut remap glow-up π
π SYNOPSIS π
void dm_test_update_crtc_color_mgmt_ctm (struct kunit *test );
literally just one function, one arg, returns nothing. clean. minimal. main character energy π
πΈ ARGUMENTS πΈ
testβ the KUnit test context, bestie. it's the little β¨houseβ¨ the test lives in. pass it in, let the framework do its thing, don't overthink it π«Ά
π¦ SEE ALSO π¦
okay this is the part where the page absolutely ATE and left no crumbs β it's a whole friend group of related tests and fixtures, so let me introduce everyone π
the kernel file itself:
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_color_test.c
that's the source of truth, the mothership, the blueprint π
LUT blob & LUT size verification squad:
dm_test_make_lut_blob(9)dm_test_verify_lut_sizes_null_luts(9)dm_test_verify_lut_sizes_valid_degamma(9)dm_test_verify_lut_sizes_invalid_degamma(9)dm_test_verify_lut_sizes_valid_gamma_atomic(9)dm_test_verify_lut_sizes_valid_gamma_legacy(9)dm_test_verify_lut_sizes_invalid_gamma(9)dm_test_verify_lut_sizes_both_valid(9)dm_test_verify_lut_sizes_invalid_degamma_valid_gamma(9)
atomic LUT3D crew:
dm_test_atomic_lut3d_zero_size(9)dm_test_atomic_lut3d_nonzero_state_bits(9)dm_test_atomic_lut3d_data_forwarded(9)
colorop 3dlut setters:
dm_test_set_colorop_3dlut_zero_size(9)dm_test_set_colorop_3dlut_nonzero_state_bits(9)dm_test_set_colorop_3dlut_data_forwarded(9)
transfer function besties:
dm_test_set_tf_bypass(9)dm_test_set_tf_distributed_points_srgb(9)dm_test_set_tf_distributed_points_pq(9)dm_test_set_legacy_tf_identity(9)dm_test_set_output_tf_linear(9)dm_test_set_output_tf_32_srgb_rom(9)dm_test_set_input_tf_srgb(9)dm_test_set_input_tf_32_srgb(9)dm_test_set_transfer_funcs_with_luts(9)
regamma + shaper/blend LUT era:
dm_test_set_atomic_regamma_bypass(9)dm_test_set_atomic_regamma_srgb(9)dm_test_atomic_shaper_lut_bypass(9)dm_test_atomic_blend_lut_bypass(9)dm_test_atomic_shaper_blend_srgb(9)
colorop input TF 1D curve situations:
dm_test_set_colorop_in_tf_1d_curve_invalid_type(9)dm_test_set_colorop_in_tf_1d_curve_unsupported_curve(9)dm_test_set_colorop_in_tf_1d_curve_bypass(9)
setup / init:
LUT3D verification gang:
dm_test_verify_lut3d_alloc_plane(9)dm_test_verify_lut3d_alloc_adev(9)dm_test_verify_lut3d_no_luts(9)dm_test_verify_lut3d_bad_shaper(9)dm_test_verify_lut3d_bad_lut3d(9)dm_test_verify_lut3d_valid(9)
fixtures & colorop tests:
struct dm_test_colorop_fixture(9)dm_test_colorop_setup(9)dm_test_colorop_multiplier_applied(9)dm_test_colorop_multiplier_no_match(9)dm_test_colorop_3x4_matrix_applied(9)dm_test_colorop_3x4_matrix_bad_length(9)dm_test_colorop_degamma_predefined(9)dm_test_colorop_degamma_no_match(9)
more fixtures & CRTC color mgmt checks:
struct dm_test_color_update_fixture(9)dm_test_color_update_setup(9)dm_test_make_ctm_blob(9)dm_test_check_crtc_color_mgmt_no_luts(9)dm_test_check_crtc_color_mgmt_legacy_regamma(9)dm_test_check_crtc_color_mgmt_degamma(9)dm_test_update_crtc_color_mgmt_no_ctm(9)
plane color mgmt tests (the whole extended universe):
dm_test_update_plane_color_mgmt_bad_lut3d(9)dm_test_update_plane_color_mgmt_fallback_defaults(9)dm_test_update_plane_color_mgmt_maps_crtc_degamma(9)dm_test_update_plane_color_mgmt_maps_crtc_degamma_lut(9)dm_test_update_plane_color_mgmt_maps_bt709_degamma(9)dm_test_update_plane_color_mgmt_plane_degamma_lut(9)dm_test_update_plane_color_mgmt_rejects_dual_degamma(9)dm_test_update_plane_color_mgmt_uses_color_caps(9)dm_test_update_plane_color_mgmt_legacy_luts(9)dm_test_update_plane_color_mgmt_plane_ctm(9)
colorop pipeline crew:
plane color mgmt Γ colorop crossover episodes:
dm_test_update_plane_color_mgmt_colorop_bypass_pipeline(9)dm_test_update_plane_color_mgmt_colorop_missing_multiplier(9)dm_test_update_plane_color_mgmt_colorop_missing_3x4(9)dm_test_update_plane_color_mgmt_colorop_truncated(9)dm_test_update_plane_color_mgmt_colorop_no_3dlut_hw(9)dm_test_update_plane_color_mgmt_colorop_shaper(9)dm_test_update_plane_color_mgmt_colorop_3dlut(9)dm_test_update_plane_color_mgmt_colorop_3dlut_no_data(9)dm_test_update_plane_color_mgmt_colorop_blend(9)
like, that's seventy-five references. the author said "you WILL know the whole test suite" and honestly? obsessed ππ
ngl bestie, this page is short and sweet β one function, one arg, one giant friend list. no environment variables, no exit statuses, no warnings hiding in here. that's the whole tea β
and that's a wrap, babe π this cutie came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β so go forth, run that KUnit test, and let the CRTC CTM gamut remap slay β¨π
π¦
π¦ 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