intel_dp_li...t_max_limits(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so real talk, this is a page from the Kernel API Manual (yes, the actual Kernel API Manual, we're fancy now πŸ’–) and it's all about intel_dp_link_caps_get_max_limits, which β€” no cap β€” gets the current maximum link limits. let's get into it πŸŽ€


✨ NAME ✨

intel_dp_link_caps_get_max_limits β€” get the current maximum link limits 🫢


🌸 SYNOPSIS 🌸

void intel_dp_link_caps_get_max_limits (struct intel_dp_link_caps
*link_caps , struct intel_dp_link_config *max_link_limits );

it's giving void, it's giving two struct pointers, it's giving icon behavior ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • link_caps β€” the link capabilities state, aka the vibe holder for all the caps info πŸ’«
  • max_link_limits β€” the returned maximum link limits. yes bestie, this one gets filled in for you, it's the output πŸ‘‘

πŸ”₯ DESCRIPTION πŸ”₯

so what it does is: it returns the current maximum rate and lane count limits into max_link_limits. simple, clean, slay πŸ’…

these limits constrain the set of allowed configurations β€” like, they're the boundary keepers, the bouncers at the club of valid configs πŸ’€

here's the lore though 🫢: the limits get set to the maximum common supported values after intel_dp_link_caps_reset is called, and then later they can be modified by intel_dp_link_caps_set_max_limits. glow-up era ✨

important detail, don't skip: the max rate and lane count parameters are independent limits, so the pair does not necessarily define a valid configuration. like yes they're both valid individually, but together? maybe not a match, lowkey πŸ™ˆ

and now the spicy part 🌢️ β€” this function may be called without serializing against updates to link_caps. freedom! but at what cost? 😭

without that serialization, the returned value may be an out-of-sync (link rate, lane count) tuple, i.e. the parameters may belong to different update snapshots in time. literally two different eras of data in one tuple, it's giving time traveler energy, not in a cute way πŸ’€

⚠️ fr fr: no serialization = possible mismatched snapshot pair. don't act surprised when it happens.

πŸ‘‘ SEE ALSO πŸ‘‘


and that's the whole page, bestie πŸ“πŸ’œ this gem lives in ./drivers/gpu/drm/i915/display, dated October 2026 β€” yes, future coded, we stay ahead πŸ’…βœ¨ mwah, go read the other link caps pages, ily, bye πŸ§šβ€β™€οΈπŸŽ€

πŸ“¦ where this page comes from