dm_test_pro...ys_scheduled(9)
π dm_test_pro...ys_scheduled(9) β aka the Kernel API Manual page, bestie
okay so real talk, the title up top got cropped to dm_test_pro...ys_scheduled(9) (the ellipsis is doing its little thing), and it's living in the Kernel API Manual β that's the manual name, so now you know π«Ά
β¨ NAME β¨
dm_test_process_output_property_validate_always_scheduled β validate_dwork always queued π
Like, the whole personality of this test is: gorl, that dwork is always queued. No cap.
π¦ SYNOPSIS π¦
void dm_test_process_output_property_validate_always_scheduled (struct
kunit *test );
That's it. One function, one struct pointer, zero drama π
πΈ ARGUMENTS πΈ
testβ the KUnit test context, aka the little β¨vibe containerβ¨ that holds everything the test needs while it's doing its thing.
π DESCRIPTION π
So here's the tea β: process_output always schedules property_validate_dwork with delay=0, and when the delay is literally zero it queues the work item directly β straight to the queue, no timer pit stop in between, she skips the line entirely π¨
Because of that, this test peeks with work_pending rather than delayed_work_pending to detect it. Different function, different vibe check β you gotta look in the right place if you want to catch her ππ
Literal main character behaviour, honestly.
π₯ SEE ALSO π₯
okay bestie, stretch your thumbs, this list is long and every single one of these icons appears on the actual page β no skipping, fr fr π
The kernel file itself:
- Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_hdcp_test.c
HDCP cp-getter friends:
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)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 squad:
alloc_test_workqueue(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)
Event / property_update crew:
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)
Event / callback crew:
alloc_test_workqueue_for_callback(9)dm_test_event_callback_cancels_callback_dwork(9)dm_test_event_callback_schedules_property_validate(9)
Event / property_validate crew:
alloc_test_workqueue_for_property_validate(9)alloc_validate_connector(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)
Event / watchdog crew:
dm_test_event_watchdog_timer_cancels_watchdog_dwork(9)dm_test_event_watchdog_timer_schedules_property_validate(9)
Event / cpirq crew:
alloc_test_workqueue_for_cpirq(9)dm_test_event_cpirq_schedules_property_validate(9)dm_test_event_cpirq_leaves_callback_and_watchdog_idle(9)
HDCP handle_cpirq + update_display crew:
dm_test_hdcp_handle_cpirq_schedules_work(9)dm_test_hdcp_handle_cpirq_selects_link_index(9)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 crew:
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)
destroy / sysfs crew:
setup_destroy_sysfs(9)dm_test_hdcp_destroy_frees_and_removes_sysfs(9)dm_test_hdcp_destroy_zero_links_null_srm(9)
link_lock crew:
PSP SRM crew:
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)
SRM data crew:
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 / LP crew:
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 crew:
alloc_test_workqueue_locked(9)alloc_test_connector(9)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 crew:
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 crew:
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)
π friendly reminder bestie: all those little (9) suffixes mean they're section 9 man pages too, so you can go read them the same way. iykyk π
okay and that's the whole page!! the source path got itself abbreviated to ./drivers/gpu/drm/amd/display/... and the date on this baby is October 2026 β so yeah, this manual page is literally from the future, slay πβ and the footer's just hanging out down there with dm_test_pro...ys_scheduled(9) again, periodt π
β¨
π¦ 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