usb4_port_retimer_is_cable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… usb4_port_retimer_is_cable(9)

okay so bestie, welcome to the Kernel API Manual ✨ β€” this one's a lil function called usb4_port_retimer_is_cable, and honestly? it's giving "am I the cable retimer or not" energy. let's get into it πŸŽ€


✨ NAME ✨

usb4_port_retimer_is_cable β€” Is the retimer cable retimer πŸ¦‹

(like... literally just answers the question "is this thing a cable retimer?" no cap)


✨ SYNOPSIS ✨

int usb4_port_retimer_is_cable (struct tb_port *port , u8 index );

✨ ARGUMENTS ✨

  • port β€” the USB4 port πŸ’– (your main character port, the one we're asking about)
  • index β€” the retimer index πŸŽ€ (which retimer we're side-eyeing)

🌸 RETURN 🌸

so here's the vibe check results, bestie β€” it returns an int:

  • 1 β€” Retimer at index is the last cable retimer πŸ’… slay, it's a cable one
  • 0 β€” Retimer at index is on-board retimer 🫢 okay so it's built in, not a cable
  • -ENODEV β€” Retimer is not present 😭 literally nowhere to be found
  • Negative errno β€” Other failure occurred πŸ’€ something else went wrong, check your errno
ngl if you get a negative errno that isn't -ENODEV, that's your signal to go digging πŸ”₯

🌈 SEE ALSO 🌈

Kernel file ./drivers/thunderbolt/usb4.c β€” plus the whole friend group πŸ‘‘:

usb4_switch_check_wakes(9), usb4_switch_setup(9), usb4_switch_configuration_valid(9), usb4_switch_read_uid(9), usb4_switch_drom_read(9), usb4_switch_lane_bonding_possible(9), usb4_switch_set_wake(9), usb4_switch_set_sleep(9), usb4_switch_nvm_sector_size(9), usb4_switch_nvm_read(9), usb4_switch_nvm_set_offset(9), usb4_switch_nvm_write(9), usb4_switch_nvm_authenticate(9), usb4_switch_nvm_authenticate_status(9), usb4_switch_credits_init(9), usb4_switch_query_dp_resource(9), usb4_switch_alloc_dp_resource(9), usb4_switch_dealloc_dp_resource(9), usb4_port_index(9), usb4_switch_map_pcie_down(9), usb4_switch_map_usb3_down(9), usb4_switch_add_ports(9), usb4_switch_remove_ports(9), usb4_port_unlock(9), usb4_port_hotplug_enable(9), usb4_port_reset(9), usb4_port_configure(9), usb4_port_unconfigure(9), usb4_port_configure_xdomain(9), usb4_port_unconfigure_xdomain(9), usb4_port_sb_read(9), usb4_port_sb_write(9), usb4_port_router_offline(9), usb4_port_router_online(9), usb4_port_enumerate_retimers(9), usb4_port_clx_supported(9), usb4_port_asym_supported(9), usb4_port_asym_set_link_width(9), usb4_port_asym_start(9), usb4_port_margining_caps(9), usb4_port_hw_margin(9), usb4_port_sw_margin(9), usb4_port_sw_margin_errors(9), usb4_port_retimer_set_inbound_sbtx(9), usb4_port_retimer_unset_inbound_sbtx(9), usb4_port_retimer_is_last(9), usb4_port_retimer_nvm_sector_size(9), usb4_port_retimer_nvm_set_offset(9), usb4_port_retimer_nvm_write(9), usb4_port_retimer_nvm_authenticate(9), usb4_port_retimer_nvm_authenticate_status(9), usb4_port_retimer_nvm_read(9), usb4_usb3_port_max_link_rate(9), usb4_usb3_port_allocated_bandwidth(9), usb4_usb3_port_allocate_bandwidth(9), usb4_usb3_port_release_bandwidth(9), usb4_dp_port_set_cm_id(9), usb4_dp_port_bandwidth_mode_supported(9), usb4_dp_port_bandwidth_mode_enabled(9), usb4_dp_port_set_cm_bandwidth_mode_supported(9), usb4_dp_port_group_id(9), usb4_dp_port_set_group_id(9), usb4_dp_port_nrd(9), usb4_dp_port_set_nrd(9), usb4_dp_port_granularity(9), usb4_dp_port_set_granularity(9), usb4_dp_port_set_estimated_bandwidth(9), usb4_dp_port_allocated_bandwidth(9), usb4_dp_port_allocate_bandwidth(9), usb4_dp_port_requested_bandwidth(9), usb4_pci_port_set_ext_encapsulation(9), usb4_pci_port_ltssm_state(9)


ΰ­¨ΰ­§ ─── sign-off time ─── ΰ­¨ΰ­§

this lil beauty lives in ./drivers/thunderbolt 🧚 and the page is dated October 2026 β€” yeah, future vibes only ⭐ anyway ily, go read your retimers, mwah πŸ’œπŸŒΈ

πŸ“¦ where this page comes from