tb_dp_port_hpd_is_active(9)
π tb_dp_port_hpd_is_active β a Kernel API Manual moment
okay so bestie, welcome to the Kernel API Manual, section 9, and today's main character is tb_dp_port_hpd_is_active. she's a tiny little function with one job and honestly? she ate. π«Ά
β¨ NAME β¨
tb_dp_port_hpd_is_active β is HPD already active? that's it. that's the whole vibe check. π
πΈ SYNOPSIS πΈ
int tb_dp_port_hpd_is_active(struct tb_port *port);
like literally one arg, returns an int, no drama, no cap. β¨
π¦ ARGUMENTS π¦
portβ the DP out port you want to check π (yes it's astruct tb_port *, yes you gotta pass a real one, iykyk)
π DESCRIPTION π
so what does she actually do? she checks whether the DP OUT adapter port already has the HPD bit set. that's the whole thing. that's the assignment and she understood it. π
no side quests, no surprises, just a lil peek at the HPD bit. iconic behavior honestly. β
π₯ RETURN π₯
1β HPD is active, she's UP, slay π0β HPD is not active, that's the other outcome bestie π
like it's binary, it's giving simple, it's giving correct. periodt. β¨
ngl this is not a -1-on-error situation, the page literally just says 1 or 0, so don't go inventing extra return codes, okay? π«Ά
π SEE ALSO π
first up, the kernel file this all lives in:
./drivers/thunderbolt/switch.c
and then the whole extended friend group (they're all in section 9, they all said hi):
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_clear(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)
like look at that roster. whole friend group showed up. π
and that's the page bestie!! this lil icon lives under ./drivers/thunderbolt, dated October 2026 β so go forth and check that HPD bit, ily, bye π§πβ¨
π¦ 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