usb4_port_asym_supported(9)
π usb4_port_asym_supported β the kernel API manual, bestie edition
okay so bestie, we're in the Kernel API Manual today and the star of the show is this little cutie: usb4_port_asym_supported. yes it's a mouthful, no you don't have to say it out loud at parties. it's giving "tiny function, very specific job" and honestly? we respect it. π
β¨ NAME β¨
usb4_port_asym_supported β literally just answers "does this port support asymmetric link?" that's it. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
bool usb4_port_asym_supported (struct tb_port *port );
like, it takes a port and gives you back a bool. simple. clean. iconic. β¨
π«Ά ARGUMENTS π«Ά
portβ a USB4 port. that's the one and only thing you hand it. no sneaky extra params, no surprises. π
π DESCRIPTION π
so what does it actually do, you ask? it checks whether the port and the cable both support asymmetric link. both of them, bestie. it's a team effort β one half showing up doesn't count. π§
it doesn't configure anything, it doesn't set anything, it just looks and tells you the truth. a vibe check, essentially. π₯
π RETURN π
trueβ asymmetric link is supported. slay. πfalseβ nope, not supported. π
no exit statuses, no signals, no error codes β it's a bool, it keeps it simple. periodt.
π SEE ALSO π
buckle up bestie, because the friend group here is large. all of these live in the kernel file ./drivers/thunderbolt/usb4.c:
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_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_is_cable(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)
like I said. a whole friend group. π
aaaand that's the page, bestie! this little gem lives in ./drivers/thunderbolt and it's dated October 2026 β go forth and check those asymmetric links. mwah. πβ¨π¦
π¦ 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