intel_dp_tunnel_detect(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… intel_dp_tunnel_detect(9) β€” like, the whole glow-up

okay so this is a page from the Kernel API Manual (yes, the kernel has lore too, bestie) and it's all about spotting a DP tunnel on a port. buckle up πŸŽ€


✨ NAME ✨

intel_dp_tunnel_detect β€” detect a DP tunnel on a port πŸ•΅οΈβ€β™€οΈ


🌸 SYNOPSIS 🌸

int intel_dp_tunnel_detect (struct intel_dp *intel_dp , struct
       drm_modeset_acquire_ctx *ctx );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • intel_dp β€” the DP port object, aka our main character πŸ”₯
  • ctx β€” the lock context that got acquired by the connector detection handler, iykyk

πŸ’– DESCRIPTION πŸ’–

So the way this works: it detects a DP tunnel on the intel_dp port, turns on BW allocation mode on it if that's supported, and allocates the BW that's required on a port that's already active. slay. πŸ’…

⚠️ Important caveat, no cap: the BW allocated this way must be freed by the next atomic modeset calling intel_dp_tunnel_atomic_free_bw. don't leave it hanging, that's not the vibe. 😭

And if intel_dp already has a tunnel detected on it, it updates that tunnel's state wrt. its support for BW allocation mode and the available BW via the tunnel. If the tunnel's state change requires it β€” for instance, if the tunnel's group ID has changed β€” the tunnel gets dropped and recreated. iconic behaviour tbh. 🌈


πŸ‘‘ RETURN πŸ‘‘

  • 0 in case of success β€” after any tunnel detected and added to intel_dp ✨
  • 1 in case the link BW via the new or an already existing tunnel has changed in a way that requires notifying user space πŸ“£
  • Negative error code if creating a new tunnel or updating the tunnel state failed πŸ’€

πŸŽ€ SEE ALSO πŸŽ€

Kernel file ./drivers/gpu/drm/i915/display/intel_dp_tunnel.c

the whole friend group fr fr 🫢


k so that's the whole page!! it lives over in ./drivers/gpu/drm/i915/display, this edition is from October 2026, and the header's all intel_dp_tunnel_detect(9) πŸ’œ go forth and detect those tunnels, bestie πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from