tb_dp_port_hpd_clear(9)
π tb_dp_port_hpd_clear β the kernel API manual, but make it make sense
okay so bestie, welcome to the tb_dp_port_hpd_clear(9) page from the Kernel API Manual β¨ this is the little helper that goes "hpd? not on my watch" for a DP IN port. let's get into it π«Ά
πΈ NAME πΈ
tb_dp_port_hpd_clear β Clear HPD from DP IN port
bestie it does exactly what it says on the tin, no cap π
β¨ SYNOPSIS β¨
int tb_dp_port_hpd_clear (struct tb_port *port );
that's the whole vibe check: takes a pointer to a struct tb_port, hands you back an int π
π¦ ARGUMENTS π¦
portβ Port to clear HPD
like, the port. the one you're clearing HPD on. that's her π
π₯ DESCRIPTION π₯
so here's the tea β if the DP IN port has HPD set, this function can be used to clear it.
that's it. that's the whole lore. if it's set, you clear it. iconic behavior, honestly π
β RETURN β
0on success π- negative
errnootherwise π
π SEE ALSO π
the friend group is HUGE and we love every single one of them, fr fr π also worth peeking at the kernel file ./drivers/thunderbolt/switch.c if you wanna see the source of truth π
tb_switch_nvm_read(9),tb_port_state(9),tb_wait_for_port(9),tb_port_add_nfc_credits(9),tb_port_clear_counter(9),tb_port_unlock(9)tb_port_enable(9),tb_port_disable(9),tb_port_reset(9),tb_port_alloc_in_hopid(9),tb_port_alloc_out_hopid(9),tb_port_release_in_hopid(9)tb_port_release_out_hopid(9),tb_next_port_on_path(9),tb_port_get_link_speed(9),tb_port_get_link_generation(9),tb_port_get_link_width(9),tb_port_width_supported(9)tb_port_set_link_width(9),tb_port_set_lane_bonding(9),tb_port_lane_bonding_enable(9),tb_port_lane_bonding_disable(9),tb_port_wait_for_link_width(9),tb_port_update_credits(9)tb_port_is_enabled(9),tb_usb3_port_is_enabled(9),tb_usb3_port_enable(9),tb_pci_port_is_enabled(9),tb_pci_port_enable(9)tb_dp_port_hpd_is_active(9),tb_dp_port_set_hops(9),tb_dp_port_is_enabled(9),tb_dp_port_enable(9)tb_switch_reset(9),tb_switch_wait_for_bit(9),tb_switch_alloc(9),tb_switch_alloc_safe_mode(9),tb_switch_configure(9),tb_switch_configuration_valid(9)tb_switch_lane_bonding_enable(9),tb_switch_lane_bonding_disable(9),tb_switch_set_link_width(9),tb_switch_configure_link(9),tb_switch_unconfigure_link(9)tb_switch_add(9),tb_switch_remove(9),tb_sw_set_unplugged(9),tb_switch_resume(9),tb_switch_suspend(9)tb_switch_query_dp_resource(9),tb_switch_alloc_dp_resource(9),tb_switch_dealloc_dp_resource(9),tb_switch_find_by_link_depth(9),tb_switch_find_by_uuid(9),tb_switch_find_by_route(9),tb_switch_find_port(9)tb_switch_pcie_l1_enable(9),tb_switch_xhci_connect(9),tb_switch_xhci_disconnect(9)
π«Ά quick reminder bestie:0means slay, negativeerrnomeans we're in our flop era and you should check what went wrong. no guessing, just read the return value π
and that's the page!! brought to you by ./drivers/thunderbolt, dated October 2026, living in the Kernel API Manual π bye bestie, go clear some HPD β¨π
π¦ 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