drm_dp_tunnel_set_io_error(9)
π drm_dp_tunnel_set_io_error β like, the Kernel API Manual page, bestie β¨
okay so real talk, this is the manual page for drm_dp_tunnel_set_io_error(9) and it's genuinely not that deep β it's one function, it flips one flag, and it's kind of iconic for how much it just ends things π
πΈ NAME πΈ
drm_dp_tunnel_set_io_error β sets the IO error flag for a DP tunnel, no cap π
β¨ SYNOPSIS β¨
void drm_dp_tunnel_set_io_error (struct drm_dp_tunnel *tunnel );
that's it. that's the whole vibe check π¦
π«Ά ARGUMENTS π«Ά
tunnelβ the tunnel object in question. like, the tunnel. your main character π
π DESCRIPTION π
so what this does is it sets the IO error flag for tunnel. that's the whole job and it does it slayfully π
Drivers can call this function when they detect a failure that affects the tunnel functionality β for example, after a DP AUX transfer failure on the port that tunnel is connected to. like, something went wrong on the wire and now the tunnel is having a moment π
β οΈ okay this part is important: setting this disables further management of tunnel, including any related AUX accesses for tunneling DPCD registers β those just return error to whoever initiated them. so yeah, the tunnel is done, periodt.
the driver is supposed to drop this tunnel and β optionally β recreate it. so like: let it go, then maybe build a new one if you feel like it π¦β¨
π₯ SEE ALSO π₯
the kernel file lives at ./drivers/gpu/drm/display/drm_dp_tunnel.c β go read it iykyk π
and the whole friend group, in order, no skips:
drm_dp_tunnel_get(9)drm_dp_tunnel_put(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)
that's the whole page bestie, go forth and handle your tunnel errors π«Άπ
β sign-off from ./drivers/gpu/drm/display π, dated October 2026, and yeah the page itself is literally named drm_dp_tunnel_set_io_error(9) if you need to cite it π
β¨
π¦ 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