usb4_port_r..._sector_size(9)
π usb4_port_retimer_nvm_sector_size(9) π
ok so this is a page from the Kernel API Manual, section 9 β yes bestie, we're in the deep kernel lore now, and this one is genuinely cute. it's all about asking a retimer "hey, how big are your NVM sectors?" and honestly? iconic behavior.
β¨ NAME β¨
usb4_port_retimer_nvm_sector_size β read retimer NVM sector size π¦
like, literally that. it reads the sector size. no cap.
πΈ SYNOPSIS πΈ
int usb4_port_retimer_nvm_sector_size (struct tb_port *port , u8 index );
that's the whole thing. two args, one int coming back at you. we love a simple signature π
π«Ά ARGUMENTS π«Ά
portβ the USB4 port, aka the little doorway you're asking about. main character of this story.indexβ the retimer index, like the seat number of whichever retimer you're pointing at π
π DESCRIPTION π
so what it does: it reads the NVM sector size (in bytes π) of a retimer at index.
and why do we care?? because this very operation can be used to figure out whether the retimer supports NVM upgrade β for example. that's the vibe check: if it answers with a sensible sector size, the upgrade story is plausibly real. iykyk β¨
π₯ RETURN π₯
- Sector size in bytes π
-ENODEVβ if there's no retimer atindexπ (bestie, you pointed at an empty seat)- Negative errno β in case of an error π
ngl, watch out for that second one β -ENODEV is the "nobody's home" signal, and negative errnos generally mean something went sideways. don't ignore them, fr fr.
π SEE ALSO π
okay this list is long. like, unreasonably long. but every single one of these is invited to the group chat, so here we go β kernel file ./drivers/thunderbolt/usb4.c, plus:
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_is_cable(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)
periodt. that's the whole crew π§
and that's the page!! tysm for reading, she's niche but she's everything. this one lives in ./drivers/thunderbolt and the page is dated October 2026 β mwah, bye bestie ππ β¨
π¦ 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