dm_test_nv_s..._unsupported(9)
π» dm_test_nv_s..._unsupported(9) β kernel API manual, section 9, bestie edition β¨
okay so real talk, this is a section 9 kernel API page β that's the "kernel internals / functions" shelf of the manual, and the function's full government name is dm_test_nv_set_display_count_unsupported. it's a KUnit test. it's a little guy. it tests one single thing and it tests it immaculately. π
π NAME π
dm_test_nv_set_display_count_unsupported β the test that checks the EOPNOTSUPP mapping, no cap π«Ά
πΈ SYNOPSIS πΈ
void dm_test_nv_set_display_count_unsupported (struct kunit *test );
like, that's it. that's the whole signature. she's compact.
π¦ ARGUMENTS π¦
testβ the KUnit test context, i.e. the little bag of test-runner info the framework hands you. she's just passing through π
β¨ DESCRIPTION β¨
okay so here's the vibe check π₯: this test verifies that pp_nv_set_display_count returns PP_SMU_RESULT_UNSUPPORTED when the DPM callback returns -EOPNOTSUPP. that's the whole bit. you make the callback say "sorry babe, not supported," and the function is supposed to translate that into PP_SMU_RESULT_UNSUPPORTED β and this test makes sure it actually does. it's giving "boundary condition, but make it fashion." π
literally, if that mapping ever broke, this test would be on the floor screaming. iconic behavior honestly.
π SEE ALSO π
buckle up bestie, this is the long part. the whole AMD display PP/SMU test suite is one big friend group and they all @ each other. π
π§ the kernel file itself
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_pp_smu_test.cβ the kernel file where all of this lives, the mothership π
π the stub squad
struct stub_dpm_context(9)setup_stub_dpm(9)
β default clock levels
dm_test_default_clock_levels_display(9)dm_test_default_clock_levels_engine(9)dm_test_default_clock_levels_memory(9)dm_test_default_clock_levels_unknown(9)
π« dc_to_pp clock type translation, the whole family
dm_test_dc_to_pp_clock_type_display(9)dm_test_dc_to_pp_clock_type_engine(9)dm_test_dc_to_pp_clock_type_memory(9)dm_test_dc_to_pp_clock_type_dcefclk(9)dm_test_dc_to_pp_clock_type_dcfclk(9)dm_test_dc_to_pp_clock_type_pixelclk(9)dm_test_dc_to_pp_clock_type_fclk(9)dm_test_dc_to_pp_clock_type_phyclk(9)dm_test_dc_to_pp_clock_type_dppclk(9)dm_test_dc_to_pp_clock_type_invalid(9)
πΈ pp_to_dc clock levels
dm_test_pp_to_dc_clock_levels_within_limit(9)dm_test_pp_to_dc_clock_levels_caps_at_max(9)dm_test_pp_to_dc_clock_levels_latency_within_limit(9)dm_test_pp_to_dc_clock_levels_latency_caps_at_max(9)dm_test_pp_to_dc_clock_levels_voltage_within_limit(9)dm_test_pp_to_dc_clock_levels_voltage_caps_at_max(9)
π₯ the get_funcs crew
dm_test_get_funcs_rv(9)dm_test_get_funcs_rv_101(9)dm_test_get_funcs_nv(9)dm_test_get_funcs_rn(9)dm_test_get_funcs_unsupported(9)
π display requirements & clock-for-voltage (the early ones)
dm_test_apply_display_requirements_dpm_disabled(9)dm_test_apply_clock_for_voltage_invalid_type(9)
π¦ the builders
dm_test_build_pm_display_cfg_scalar_fields(9)dm_test_build_pm_display_cfg_per_display(9)dm_test_build_wm_clock_ranges_dmif(9)dm_test_build_wm_clock_ranges_mcif(9)
π cap_clock_levels girlies
dm_test_cap_clock_levels_engine_caps(9)dm_test_cap_clock_levels_engine_first_exceeds(9)dm_test_cap_clock_levels_memory_caps(9)dm_test_cap_clock_levels_within_limit(9)dm_test_cap_clock_levels_other_type(9)
π nv clock id besties
dm_test_nv_clock_id_dispclk(9)dm_test_nv_clock_id_phyclk(9)dm_test_nv_clock_id_pixelclk(9)dm_test_nv_clock_id_invalid(9)
π display requirements enabled + get_clock_levels
dm_test_apply_display_requirements_dpm_enabled(9)dm_test_get_clock_levels_by_type_dpm_error(9)dm_test_get_clock_levels_by_type_success(9)dm_test_get_clock_levels_by_type_validation_fallback(9)dm_test_get_clock_levels_with_latency_success(9)dm_test_get_clock_levels_with_latency_failure(9)dm_test_get_clock_levels_with_voltage_success(9)dm_test_get_clock_levels_with_voltage_failure(9)
π§ notify_wm_clock_changes
dm_test_notify_wm_clock_changes_polaris(9)dm_test_notify_wm_clock_changes_non_polaris(9)
β apply_clock_for_voltage
dm_test_apply_clock_for_voltage_success(9)dm_test_apply_clock_for_voltage_eopnotsupp(9)dm_test_apply_clock_for_voltage_fail(9)
π nv set_display_count β hey, that's our girl's siblings!
dm_test_nv_set_display_count_ok(9)dm_test_nv_set_display_count_fail(9)
π nv voltage by freq + pstate handshake
dm_test_nv_set_voltage_by_freq_ok(9)dm_test_nv_set_voltage_by_freq_invalid_id(9)dm_test_nv_pstate_handshake_ok(9)dm_test_nv_pstate_handshake_fail(9)
π¦ rn get_dpm_clock_table
dm_test_rn_get_dpm_clock_table_ok(9)dm_test_rn_get_dpm_clock_table_unsupported(9)dm_test_rn_get_dpm_clock_table_fail(9)
πΈ rv crew
dm_test_rv_set_wm_ranges(9)dm_test_rv_set_pme_wa_enable(9)dm_test_rv_set_active_display_count(9)dm_test_rv_set_min_deep_sleep_dcfclk(9)dm_test_rv_set_hard_min_dcefclk_by_freq(9)dm_test_rv_set_hard_min_fclk_by_freq(9)
π₯ nv watermarks + minimum clocks
dm_test_nv_set_wm_ranges(9)dm_test_nv_set_min_deep_sleep_dcfclk_ok(9)dm_test_nv_set_min_deep_sleep_dcfclk_unsupported(9)dm_test_nv_set_min_deep_sleep_dcfclk_fail(9)dm_test_nv_set_hard_min_dcefclk_ok(9)dm_test_nv_set_hard_min_dcefclk_unsupported(9)dm_test_nv_set_hard_min_dcefclk_fail(9)dm_test_nv_set_hard_min_uclk_ok(9)dm_test_nv_set_hard_min_uclk_unsupported(9)dm_test_nv_set_hard_min_uclk_fail(9)
π nv max sustainable clocks + uclk dpm states
dm_test_nv_get_max_sustainable_clocks_ok(9)dm_test_nv_get_max_sustainable_clocks_unsupported(9)dm_test_nv_get_max_sustainable_clocks_fail(9)dm_test_nv_get_uclk_dpm_states_ok(9)dm_test_nv_get_uclk_dpm_states_unsupported(9)dm_test_nv_get_uclk_dpm_states_fail(9)
π« and one (1) default
dm_test_smu_write_watermarks_table_default(9)
and that's the whole group chat, fr fr. π«Ά
ngl bestie, that SEE ALSO list is a lot of tests β if you're poking at the PP/SMU code, this is basically the entire test neighborhood, so you might as well say hi to all of them. π
sign-off time π this page ships from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β so yeah, future-dated manual page, main character energy only. π
β¨
π¦ 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