tb_switch_alloc_dp_resource(9)
π tb_switch_alloc_dp_resource π
okay so this is a page from the Kernel API Manual (section 9, the kernel-functions girlies) and it's all about tb_switch_alloc_dp_resource β say that five times fast, i literally cannot π
β¨ NAME β¨
tb_switch_alloc_dp_resource β bestie, this literally allocates an available DP resource π
π SYNOPSIS π
int tb_switch_alloc_dp_resource (struct tb_switch *sw , struct tb_port
*in );
likeβ¦ that's it. that's the whole vibe check. two args, one int coming back at you π«Ά
π ARGUMENTS π
swβ the switch whose DP resource is getting allocated, like it's the main character in this whole operation πinβ the DP IN port. the IN port. the one that goes in. iykyk π
π¦ DESCRIPTION π¦
so here's the tea: this function allocates a DP resource for DP tunneling β¨
but like β key detail, no cap β the resource must already be available for this to actually succeed. so if you're rolling up in here hoping it'll magically sort itself out? it won't, bestie π go check first with tb_switch_query_dp_resource, that's literally what it's for. vibe check your resources before you commit, periodt.
π₯ RETURN π₯
0β success, we ate, everything slays πΈ- negative errno β literally anything else. something went wrong, not in a cute way π
β SEE ALSO β
omg this list is a moment. it's giving "the whole extended friend group showed up to the party." the source file is ./drivers/thunderbolt/switch.c and here's literally every single one of them, in order, no skips, no shortcuts π
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_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_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 i said. the whole group chat. π§β¨
π real talk though: if the DP resource isn't available, this call does not succeed. that's not a bug, that's just the rules, bestie. check availability first, tb_switch_query_dp_resource is right there in the list, be responsible π
okay that's the page!! mwah π
so yeah, this icon of a manual page lives in ./drivers/thunderbolt, and it was dated October 2026, title still tb_switch_alloc_dp_resource(9) because we don't change the main character's name. slay, 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