alloc_validate_connector(9)
π
alloc_validate_connector(9) β like, the connector-builder for event_property_validate() tests β¨
okay so bestie, welcome to the alloc_validate_connector(9) page from the Kernel API Manual π this one's a little helper that spins up a fake connector so the HDCP test suite has something to poke at. it's giving "supporting cast member who absolutely carries the scene" energy, ngl π
πΈ NAME πΈ
alloc_validate_connector β the connector for event_property_validate() tests π
π¦ SYNOPSIS π¦
struct amdgpu_dm_connector * alloc_validate_connector (struct kunit
*test , unsigned int index , enum drm_connector_status status , bool
with_state );
that's the whole signature, no cap. four args in, one shiny struct amdgpu_dm_connector * out π«Ά
β¨ ARGUMENTS β¨
testβ the KUnit test context, used for the managed allocation. it's the one holding the bag so nothing leaks πindexβ the drm connector index you want assigned. you pick it, it wears it πstatusβ the drm connector detection status to assign. gotta tell the fake connector how it's feeling π©Ίwith_stateβ whether to attach a zeroeddrm_connector_state. yes please = a state gets bolted on, all zeroed out β¨
π DESCRIPTION π
so what it actually does: it allocates an amdgpu_dm_connector that's sufficient for the traversal that happens inside event_property_validate. that's the whole job, and it does it slayfully π
here's the tea though β mod_hdcp_query_display has no active display, so it bails out early π and because it returns early, it leaves the pre-set HDCP_OFF query completely untouched. like, not even a little smudge. iconic behaviour, honestly π§
no active display β early return β HDCP_OFF query stays exactly as it was set. that's the entire bit, and it's lowkey perfect π
π₯ SEE ALSO π₯
π Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_hdcp_test.c
πΈ HDCP get-CP tests
dm_test_hdcp_get_cp_disabled_returns_desired(9)dm_test_hdcp_get_cp_type0_returns_enabled(9)dm_test_hdcp_get_cp_type1_returns_enabled(9)dm_test_hdcp_get_cp_type1_rejects_type0_status(9)dm_test_hdcp_get_cp_type0_rejects_type1_status(9)
π HDCP adjustments tests
dm_test_hdcp_get_adjustments_disable_authentication(9)dm_test_hdcp_get_adjustments_type0_policy(9)dm_test_hdcp_get_adjustments_type1_policy(9)dm_test_hdcp_get_adjustments_fused_io_enables_fw_check(9)
π¦ Workqueue + process output crew
alloc_test_workqueue(9)dm_test_process_output_property_validate_always_scheduled(9)dm_test_process_output_callback_needed(9)dm_test_process_output_callback_stop(9)dm_test_process_output_watchdog_needed(9)dm_test_process_output_watchdog_stop(9)dm_test_process_output_callback_and_watchdog_needed(9)dm_test_process_output_callback_stop_and_needed_requeues(9)dm_test_process_output_watchdog_stop_and_needed_requeues(9)
π Property update squad
alloc_test_workqueue_for_property_update(9)alloc_update_connector(9)dm_test_event_property_update_skips_null_connector(9)dm_test_event_property_update_skips_disconnected(9)dm_test_event_property_update_skips_null_state(9)dm_test_event_property_update_skips_null_dev(9)dm_test_event_property_update_desired_when_off(9)dm_test_event_property_update_enabled_when_encrypted(9)
β Callback + validate crew
alloc_test_workqueue_for_callback(9)dm_test_event_callback_cancels_callback_dwork(9)dm_test_event_callback_schedules_property_validate(9)alloc_test_workqueue_for_property_validate(9)dm_test_event_property_validate_skips_null_connector(9)dm_test_event_property_validate_skips_disconnected(9)dm_test_event_property_validate_skips_null_state(9)dm_test_event_property_validate_updates_on_status_change(9)dm_test_event_property_validate_no_update_when_unchanged(9)
π Watchdog timer besties
dm_test_event_watchdog_timer_cancels_watchdog_dwork(9)dm_test_event_watchdog_timer_schedules_property_validate(9)
π CPIRQ gang
alloc_test_workqueue_for_cpirq(9)dm_test_event_cpirq_schedules_property_validate(9)dm_test_event_cpirq_leaves_callback_and_watchdog_idle(9)dm_test_hdcp_handle_cpirq_schedules_work(9)dm_test_hdcp_handle_cpirq_selects_link_index(9)
π HDCP update display tests
dm_test_hdcp_update_display_enable_schedules_property_validate(9)dm_test_hdcp_update_display_disable_resets_status_and_cancels_validate(9)
π§ HDCP create workqueue tests
dm_test_hdcp_create_workqueue_zero_max_links_returns_null(9)dm_test_hdcp_create_workqueue_initializes_work(9)dm_test_hdcp_create_workqueue_sets_dtm_v3_for_dcn31(9)dm_test_hdcp_create_workqueue_initializes_all_links(9)
π sysfs + destroy + link lock
setup_destroy_sysfs(9)dm_test_hdcp_destroy_frees_and_removes_sysfs(9)dm_test_hdcp_destroy_zero_links_null_srm(9)dm_test_link_lock_locks_and_unlocks_all_links(9)dm_test_link_lock_zero_links_is_noop(9)
π₯ PSP / SRM data tests
dm_test_psp_get_srm_uninitialized_returns_null(9)dm_test_psp_set_srm_uninitialized_returns_einval(9)dm_test_psp_set_srm_initialized_stages_command(9)dm_test_srm_data_write_uninitialized_ta_keeps_srm(9)dm_test_srm_data_read_uninitialized_ta_returns_einval(9)dm_test_srm_data_read_empty_srm_returns_zero(9)
π«Ά DDC link + link programming tests
alloc_test_ddc_link(9)dm_test_lp_write_i2c_builds_single_write_payload(9)dm_test_lp_read_i2c_builds_offset_then_read(9)dm_test_lp_write_dpcd_forwards_native_write(9)dm_test_lp_read_dpcd_forwards_native_read(9)dm_test_lp_write_i2c_no_connector_returns_false(9)dm_test_lp_read_dpcd_no_connector_returns_false(9)dm_test_lp_atomic_i2c_null_handle_returns_false(9)dm_test_lp_atomic_i2c_oversized_op_returns_false(9)dm_test_lp_atomic_aux_null_handle_returns_false(9)dm_test_lp_atomic_aux_oversized_op_returns_false(9)
πΈ Locked workqueue + connector helpers
π HDCP display state tests (the sequel)
dm_test_hdcp_update_display_enable_registers_connector(9)dm_test_hdcp_update_display_disable_sets_status_off(9)dm_test_hdcp_remove_display_enabled_resets_cp(9)dm_test_hdcp_remove_display_null_state_clears_connector(9)dm_test_hdcp_reset_display_clears_all_state(9)
π¦ ASSR era
alloc_test_workqueue_for_assr(9)dm_test_enable_assr_uninitialized_dtm_returns_false(9)dm_test_enable_assr_uninitialized_dtm_ignores_link(9)dm_test_enable_assr_initialized_builds_command_and_fails(9)
β Update config finale
dm_test_update_config_null_connector_is_noop(9)dm_test_update_config_null_dc_link_is_noop(9)dm_test_update_config_dpms_off_removes_display(9)dm_test_update_config_populates_display_and_link(9)
and that's the page, bestie π source lives under ./drivers/gpu/drm/amd/display/..., dated October 2026, and it's filed under alloc_validate_connector(9) in the Kernel API Manual β go forth and allocate responsibly, mwah π«Άπ
β¨
π¦ 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