tb_port_update_credits(9)
π tb_port_update_credits β the kernel API manual, bestie edition π
okay so you're looking at tb_port_update_credits(9), and honestly? iconic little function. no cap.
β¨ NAME β¨
tb_port_update_credits β re-read the port's total credits, periodt.
π SYNOPSIS π
int tb_port_update_credits (struct tb_port *port );
π¦ ARGUMENTS π¦
portβ the port you're updating, bestie. that's the whole vibe check right there.
π DESCRIPTION π
so here's the situation. once the link is bonded (or like, bonding got disabled, no shame either way π), the port's total credits can change on you. sneakily. so you literally have to call this function to re-read the credits, otherwise you're just out here guessing and that's not the main character energy we're going for.
and the way that it also updates the second lane adapter??? obsessed. it's giving thorough. π«Ά
β RETURN β
0 on success, negative errno otherwise. slay when it's zero, π when it's not.
π₯ SEE ALSO π₯
the whole friend group, fr fr β all of these live in the kernel file ./drivers/thunderbolt/switch.c and 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_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_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, that's the whole group chat. go read them, iykyk π
ngl bestie, no scary warnings in here β just remember: call it after bonding changes, or your credit numbers are gonna be living a lie π
and that's the page!! brought to you by the fine folks over in ./drivers/thunderbolt, dated October 2026 β mwah, love u, go update those credits π
β¨π
π¦ 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