drm_dp_downs...max_dotclock(9)
π drm_dp_downs...max_dotclock(9) β the kernel API manual, bestie edition
okay so this is a page from the Kernel API Manual (section 9, the kernel-API girlies) and it's all about drm_dp_downstream_max_dotclock. yes the title is truncated with dots, no that's not a typo, that's just how the header renders. we move.
β¨ NAME β¨
drm_dp_downstream_max_dotclock β extract downstream facing port max dot clock
like, it goes and gets the max dot clock for you. that's the whole job. slay.
πΈ SYNOPSIS πΈ
int drm_dp_downstream_max_dotclock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
const u8 port_cap[4]);
it returns an int, takes two const u8 arrays, and honestly? iconic signature. no notes.
π ARGUMENTS π
dpcdβ DisplayPort configuration data. the whole vibe sheet for the DP thing, passed in asconst u8 dpcd[DP_RECEIVER_CAP_SIZE].port_capβ port capabilities, given to us as aconst u8 port_cap[4]. four bytes of pure potential bestie.
π RETURN π
on success you get the downstream facing port max dot clock in kHz π₯³ β or 0 if the max clock isn't defined. that's it, that's the return. no cap.
π¦ SEE ALSO π¦
okay bestie sit down, this list is long and we are not skipping a single one, every single reference is coming with us π
first up, the file itself lives in the kernel at ./drivers/gpu/drm/display/drm_dp_helper.c β the dp helpers crew:
dp helpers(9), drm_dp_phy_name(9), drm_dp_lttpr_wake_timeout_setup(9), dp helpers(9) (yes it's in there a second time, we love a cameo β¨), 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), 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_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), 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), 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), 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), 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), 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), 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), 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).
that's the whole friend group. every single one. iykyk π
side note: the dp helpers(9) double feature is genuinely in the original, we're not bugging, we're just being faithful π«Ά
okay that's the page!! main character energy from a function that literally just reads a max dot clock out of DisplayPort config bytes and hands it to you in kHz. obsessed honestly π
this cutie was brought to you by the kernel docs, living under ./drivers/gpu/drm/display, dated October 2026, and yes the version stamp still calls it drm_dp_downs...max_dotclock(9) because truncation is forever. 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