tb_switch_suspend(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ tb_switch_suspend πŸ‘‘

okay so bestie, this page is from the Kernel API Manual, and it's the little sleep-time ritual for a Thunderbolt switch 😴✨ no gatekeeping, every detail is staying right here.


✨ NAME ✨

tb_switch_suspend β€” Put a switch to sleep πŸ’€


🌸 SYNOPSIS 🌸

void tb_switch_suspend (struct tb_switch *sw , bool runtime );

πŸŽ€ ARGUMENTS πŸŽ€

  • sw β€” Switch to suspend; literally the router you're tucking in πŸ’€
  • runtime β€” Is this runtime suspend or system sleep? that's the vibe check for wakes ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

So it Suspends router and all its children β€” the whole little tree gets the nap memo, no cap πŸ˜­πŸ’–

Then it Enables wakes according to value of runtime, and after that it sets sleep bit for the router. Very demure, very mindful, very sleepy πŸŽ€

And if sw is host router, the domain is ready to go to sleep once this function returns β€” that's it, that's the whole glow-up πŸŒ™βœ¨


πŸ’œ SEE ALSO πŸ’œ

the whole guest list is here, character for character, because we do not abbreviate the squad 🫢:

Kernel file ./drivers/thunderbolt/switch.c 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_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)

this page is tb_switch_suspend(9), from source/version ./drivers/thunderbolt, dated October 2026 β€” mwah, go take a nap bestie πŸ’‹πŸŒˆ

πŸ“¦ where this page comes from