drm_dp_lttp...imeout_setup(9)
π drm_dp_lttp...imeout_setup(9) π
okay bestie, buckle up β this page is drm_dp_lttp...imeout_setup(9) and it comes to you live from the Kernel API Manual (section 9, where all the kernel-function girlies live β¨). real function name is drm_dp_lttpr_wake_timeout_setup, the header just cut her off mid-vowel, we don't judge π
β¨ NAME β¨
drm_dp_lttpr_wake_timeout_setup β she grants extended time for the sink to wake up π«Ά basically the snooze button but make it DisplayPort.
πΈ SYNOPSIS πΈ
void drm_dp_lttpr_wake_timeout_setup (struct drm_dp_aux *aux , bool
transparent_mode );
that line break is canon, do not come for me π
π ARGUMENTS π
auxβ the DP AUX channel you're working with. the aux channel. THE one. know her, love her πtransparent_modeβ abool, and it'struewhen lttpr is in transparent mode. that's it, that's the whole vibe check π
π¦ DESCRIPTION π¦
so here's the tea, bestie: this function checks if the sink needs any extended wake time, and if it does β she grants that request. generous queen πβ¨
once this setup is done, the source device can keep trying the Aux transaction all the way up till the granted wake timeout. no cap, she'll wait for you π«Ά
β οΈ and now the important part, listen closely: if this function is not called, all Aux transactions are expected to take a default of1msbefore they throw an error.1ms. that's the whole window. one millisecond. so likeβ¦ call her. ππ
π SEE ALSO π
literally the entire friend group, she knows everyone. starting with the kernel file herself:
the source file + the helpers
./drivers/gpu/drm/display/drm_dp_helper.cdp helpers(9)drm_dp_phy_name(9)dp helpers(9)β yes it's listed twice, that's canon, she said it twice on purpose π
DPCD girlies
drm_dp_dpcd_probe(9)drm_dp_dpcd_set_powered(9)drm_dp_dpcd_set_probe(9)drm_dp_dpcd_read(9)drm_dp_dpcd_write(9)drm_dp_dpcd_read_link_status(9)drm_dp_dpcd_read_phy_link_status(9)drm_dp_link_power_up(9)drm_dp_link_power_down(9)drm_dp_dpcd_write_payload(9)drm_dp_dpcd_clear_payload(9)drm_dp_dpcd_poll_act_handled(9)
downstream squad
drm_dp_downstream_is_type(9)drm_dp_downstream_is_tmds(9)drm_dp_send_real_edid_checksum(9)drm_dp_read_dpcd_caps(9)drm_dp_read_downstream_info(9)drm_dp_downstream_max_dotclock(9)drm_dp_downstream_max_tmds_clock(9)drm_dp_downstream_min_tmds_clock(9)drm_dp_downstream_max_bpc(9)drm_dp_downstream_420_passthrough(9)drm_dp_downstream_444_to_420_conversion(9)drm_dp_downstream_rgb_to_ycbcr_conversion(9)drm_dp_downstream_mode(9)drm_dp_downstream_id(9)drm_dp_downstream_debug(9)drm_dp_subconnector_type(9)drm_dp_set_subconnector_property(9)drm_dp_read_sink_count_cap(9)drm_dp_read_sink_count(9)
aux lifecycle + desc
drm_dp_remote_aux_init(9)drm_dp_aux_init(9)drm_dp_aux_register(9)drm_dp_aux_unregister(9)drm_dp_psr_setup_time(9)drm_dp_start_crc(9)drm_dp_stop_crc(9)drm_dp_read_desc(9)drm_dp_dump_lttpr_desc(9)
DSC corner π
drm_dp_dsc_sink_bpp_incr(9)drm_dp_dsc_slice_count_to_mask(9)drm_dp_dsc_sink_slice_count_mask(9)drm_dp_dsc_sink_max_slice_count(9)drm_dp_dsc_sink_line_buf_depth(9)drm_dp_dsc_sink_supported_input_bpcs(9)drm_dp_dsc_sink_max_slice_throughput(9)drm_dp_dsc_branch_max_overall_throughput(9)drm_dp_dsc_branch_max_line_width(9)
LTTPR besties (her literal family)
drm_dp_read_lttpr_common_caps(9)drm_dp_read_lttpr_phy_caps(9)drm_dp_lttpr_count(9)drm_dp_lttpr_max_link_rate(9)drm_dp_lttpr_set_transparent_mode(9)drm_dp_lttpr_init(9)drm_dp_lttpr_max_lane_count(9)drm_dp_lttpr_voltage_swing_level_3_supported(9)drm_dp_lttpr_pre_emphasis_level_3_supported(9)
test patterns + SDPs
drm_dp_get_phy_test_pattern(9)drm_dp_set_phy_test_pattern(9)drm_dp_as_sdp_supported(9)drm_dp_vsc_sdp_supported(9)drm_dp_vsc_sdp_pack(9)
PCON / FRL crew π
drm_dp_get_pcon_max_frl_bw(9)drm_dp_pcon_frl_prepare(9)drm_dp_pcon_is_frl_ready(9)drm_dp_pcon_frl_configure_1(9)drm_dp_pcon_frl_configure_2(9)drm_dp_pcon_reset_frl_config(9)drm_dp_pcon_frl_enable(9)drm_dp_pcon_hdmi_link_active(9)drm_dp_pcon_hdmi_link_mode(9)drm_dp_pcon_hdmi_frl_link_error_count(9)drm_dp_pcon_pps_default(9)drm_dp_pcon_pps_override_buf(9)
backlight babes β¨
drm_edp_backlight_set_level(9)drm_edp_backlight_enable(9)drm_edp_backlight_disable(9)drm_edp_backlight_init(9)drm_panel_dp_aux_backlight(9)
bandwidth math girlies π§
drm_dp_link_symbol_cycles(9)drm_dp_bw_overhead(9)drm_dp_bw_channel_coding_efficiency(9)drm_dp_max_dprx_data_rate(9)
k that's the whole page, mwah π this one lives in ./drivers/gpu/drm/display and the date stamp says October 2026 β so yeah, she's from the future, main character energy fr fr. go call drm_dp_lttpr_wake_timeout_setup before your Aux transactions get ghosted in 1ms ππ
π¦ 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