drm_dp_tunnel_put(9)
π drm_dp_tunnel_put(9) β the Kernel API Manual, bestie edition π
okay so first things first: this page lives in the Kernel API Manual, and the function we're stanning is literally called drm_dp_tunnel_put. It's a void function, so like... it gives nothing back, and honestly? That's the vibe. β¨
πΈ NAME πΈ
drm_dp_tunnel_put β bestie, it puts a reference for a DP tunnel. That's the whole job. That's the assignment. π«Ά
β¨ SYNOPSIS β¨
void drm_dp_tunnel_put (struct drm_dp_tunnel *tunnel , struct
ref_tracker **tracker );
no cap, that's the whole signature. look at her. iconic.
π¦ ARGUMENTS π¦
tunnelβ the tunnel object itself π this is the main character, the thing you're dropping a reference ontrackerβ the debug tracker for the reference π it's literallystruct ref_tracker **, so yes, double pointer, we love a little indirection moment
π DESCRIPTION π
so the whole plot: you put a reference for tunnel, and you do it along with its debug *tracker β which, if you were paying attention, is the tracker you got earlier from drm_dp_tunnel_get. it's giving "return the borrowed book to the library, and also hand back the little receipt you got with it" ππ
that's it. that's the function. lowkey elegant, highkey important. periodt. π
π§ reminder bestie: this is the put half of a get/put pair, so pair it with drm_dp_tunnel_get β the page says the tracker comes from there, so don't go inventing your own, iykyk.
π SEE ALSO π
the kernel file in question is literally:
./drivers/gpu/drm/display/drm_dp_tunnel.c
and here's the whole friend group, no one left behind π«Ά:
drm_dp_tunnel_get(9)drm_dp_tunnel_set_io_error(9)drm_dp_tunnel_detect(9)drm_dp_tunnel_destroy(9)drm_dp_tunnel_enable_bw_alloc(9)drm_dp_tunnel_disable_bw_alloc(9)drm_dp_tunnel_bw_alloc_is_enabled(9)drm_dp_tunnel_pr_optimization_supported(9)drm_dp_tunnel_alloc_bw(9)drm_dp_tunnel_get_allocated_bw(9)drm_dp_tunnel_update_state(9)drm_dp_tunnel_128b132b_supported(9)drm_dp_tunnel_128b132b_lane0_mapping_supported(9)drm_dp_tunnel_128b132b_dprx_rates(9)drm_dp_tunnel_max_dprx_rate(9)drm_dp_tunnel_max_dprx_lane_count(9)drm_dp_tunnel_available_bw(9)drm_dp_tunnel_atomic_get_state(9)drm_dp_tunnel_atomic_get_old_state(9)drm_dp_tunnel_atomic_get_new_state(9)drm_dp_tunnel_atomic_set_stream_bw(9)drm_dp_tunnel_atomic_get_required_bw(9)drm_dp_tunnel_atomic_get_group_streams_in_state(9)drm_dp_tunnel_atomic_check_stream_bws(9)drm_dp_tunnel_mgr_create(9)drm_dp_tunnel_mgr_destroy(9)
and that's the whole page, bestie!! πβ¨ source vibes come from ./drivers/gpu/drm/display, dated October 2026 β so yeah, this manual page is from the future and still slaying. mwah ππ go put that reference back where it belongs π¦π
π¦ 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