drm_dp_link_choose(9)
π drm_dp_link_choose(9) β like, the Kernel API Manual page you actually wanna read
okay bestie, so this page lives in the Kernel API Manual and it's all about drm_dp_link_choose β literally the function that picks the β¨cheapestβ¨ link setup that still works for your mode. Iconic behavior tbh.
πΈ SYNOPSIS πΈ
int drm_dp_link_choose (struct drm_dp_link *link , const struct
struct drm_display_mode *mode , const struct drm_display_info *info );
that's the whole signature, no cap. π«Ά
π ARGUMENTS π
linkβ your DRM DP link object, the main character here πmodeβ the DRM display mode you're trying to feedinfoβ the DRM display information, i.e. the receipts on what the display can do
β¨ DESCRIPTION β¨
so per the eDP spec, a source is supposed to select a configuration with the lowest number of lanes and the lowest possible link rate that still matches the bitrate requirements of a video mode. lowkey minimalist queen energy: least lanes, slowest rate, still slays the mode. π₯
but β and this is the important part, don't skip it β it must ensure it does not exceed the capabilities of the sink. like, no overpromising. the sink said what it said and we respect it. π«Ά
π¦ RETURN π¦
0 on success, or a negative error code on failure. that's it, that's the whole vibe check. π
ngl, always check that return value bestie β negative means something went sideways π
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/tegra/dp.c drm_dp_link_add_rate(9)drm_dp_link_remove_rate(9)drm_dp_link_update_rates(9)drm_dp_link_probe(9)drm_dp_link_configure(9)Link training(9)drm_dp_link_train_init(9)drm_dp_link_train(9)
the whole friend group fr fr, go read them too π
okay that's the page!! sign-off time: it comes from ./drivers/gpu/drm/tegra, dated October 2026, and the page itself is drm_dp_link_choose(9) out of the Kernel API Manual. periodt. πβ
π¦ 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