STRUCT DRM_DP_LINK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct drm_dp_link β€” the whole vibe of a DP link, like, its capabilities and its configuration, bestie πŸ’…

okay so real talk, this is a page from the Kernel API Manual β€” yes, the drm_dp_link(9) one, you're in the right place 🫢


✨ SYNOPSIS ✨

struct drm_dp_link {
    unsigned char revision;
    unsigned int max_rate;
    unsigned int max_lanes;
    struct drm_dp_link_caps caps;
    struct {
      unsigned int cr;
      unsigned int ce;
    } aux_rd_interval;
    unsigned char edp;
    unsigned int rate;
    unsigned int lanes;
    unsigned long rates[DP_MAX_SUPPORTED_RATES];
    unsigned int num_rates;
    const struct drm_dp_link_ops *ops;
    struct drm_dp_aux *aux;
    struct drm_dp_link_train train;
};

like, that's the whole struct, no cap 🧚


πŸŽ€ Members πŸŽ€

okay bestie, field-by-field, let's go πŸ‘‘

  • revision β€” the DP specification revision that's supported on the link πŸ”₯
  • max_rate β€” the maximum clock rate supported on the link, literally the ceiling ⭐
  • max_lanes β€” the maximum number of lanes supported on the link 🌈
  • caps β€” the capabilities supported on the link (peep drm_dp_link_caps for the deets) πŸ’œ
  • aux_rd_interval β€” the AUX read interval to use for training, measured in microseconds ⏱️
    • aux_rd_interval.cr β€” the clock recovery read interval πŸ•
    • aux_rd_interval.ce β€” the channel equalization read interval πŸ•‘
  • edp β€” the eDP revision (0x11: eDP 1.1, 0x12: eDP 1.2, ...) πŸ¦‹
  • rate β€” the link rate that's currently configured πŸ’«
  • lanes β€” the number of lanes that's currently configured πŸ›£οΈ
  • rates β€” additional supported link rates in kHz (eDP 1.4) πŸ“ˆ
  • num_rates β€” how many of those additional supported link rates there are (eDP 1.4) πŸ”’
  • ops β€” the DP link operations πŸ› οΈ
  • aux β€” the DP AUX channel πŸ“‘
  • train β€” the DP link training state πŸš‚
ngl, rates and num_rates are a package deal β€” one's the array, one's the count, don't @ me πŸ™ˆ

🌸 SEE ALSO 🌸

  • Kernel file ./drivers/gpu/drm/tegra/dp.h
  • struct drm_dp_link_caps(9)
  • struct drm_dp_link_ops(9)
  • struct drm_dp_link_train_set(9)
  • struct drm_dp_link_train(9)

go read those too, iykyk πŸ“š


that's the whole page, mwah πŸ’‹ β€” brought to you by the source at ./drivers/gpu/drm/tegra, version October 2026, and yes struct drm_dp_link(9) is still the main character πŸ‘‘βœ¨

πŸ“¦ where this page comes from