intel_dp_link_caps_update(9)
π intel_dp_link_caps_update β a kernel API manual moment
okay so bestie, this is the page for intel_dp_link_caps_update(9) from the Kernel API Manual, and honestly? it's giving "quiet little function that quietly rebuilds the entire vibe of your DisplayPort link config." iconic. let's get into it π«Ά
β¨ NAME β¨
intel_dp_link_caps_update β rebuild the supported link configuration state. that's it. that's the whole job. lowkey important though π
β¨ SYNOPSIS β¨
bool intel_dp_link_caps_update (struct intel_dp_link_caps *link_caps ,
const int *rates , int num_rates , int max_lane_count , bool reset );
yes she returns a bool, yes she takes five args, no we are not scared of her πΈ
β¨ ARGUMENTS β¨
link_capsβ the link capabilities state. this is the little baby we're rebuilding, so keep your eyes on her πratesβ the supported common link rates. plural. a whole squad of rates.num_ratesβ the number of entries inrates. like, how many of the squad actually showed up. no cap.max_lane_countβ the supported maximum lane count. lanes, bestie. we love a multi-lane moment.resetβ reset limits and disabled configs. flip this and things get β¨freshβ¨ (details below, keep reading, i got you)
β¨ DESCRIPTION β¨
so the whole point: rebuild the supported link configuration state from rates and max_lane_count. that's the core loop, the main character energy of this function π«
now, if reset is true, she resets the maximum link limits to the maximum supported rate and lane count, and re-enables all configurations. so basically a full glow-up reset: limits back to max, every config un-disabled. slay. π§
this function is called regularly β at least after a sink is connected β but it may also get called later whenever the sink capabilities may have changed. example given in the original, and i quote the vibe: in response to HPD IRQ / RX_CAP_CHANGED signaling. so yeah, sink says "i changed," and this function says "bet." π
in the Intel driver, this function is currently called whenever the connector detect handler runs, after reading the sink capabilities. and here's the caveat bestie, listen up π: this may change if those capabilities are cached until the sink is disconnected, or until RX_CAP_CHANGED is signaled. in any case, this function should be called whenever the sink capabilities were read out and may have changed. so like... read the caps, then call her. every time. periodt.
π«Ά tl;dr: read the sink capabilities β call this β state stays accurate. skip it and your link config is living a lie.
β¨ RETURN β¨
trueif the link capabilities have changed,falseotherwise.
that's the whole return contract. boolean. clean. no drama (for once) π
β¨ SEE ALSO β¨
- Kernel file
./drivers/gpu/drm/i915/display/intel_dp_link_caps.c DisplayPort link capabilities(9)intel_dp_link_caps_get_max_config(9)intel_dp_link_caps_get_max_bw_config(9)intel_dp_link_caps_disable_config(9)intel_dp_link_caps_get_max_limits(9)intel_dp_link_caps_set_max_limits(9)intel_dp_link_caps_reset_max_limits(9)intel_dp_link_caps_reset(9)intel_dp_link_caps_debugfs_add(9)
like, the whole friend group fr fr π go read them, they're all part of the same little intel_dp_link_caps cinematic universe π¦
and that's the page!! π this one lives over in ./drivers/gpu/drm/i915/display, dated October 2026 β so yeah, she's from the future (or at least the future of this doc build), and she ate. 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