sci_phy_comp...ink_training(9)
πΈ NAME πΈ
sci_phy_complete_link_training β bestie, this is the function that does all the processing that's common to every protocol once link training is done. Like, the shared afterparty cleanup. π
β¨ SYNOPSIS β¨
void sci_phy_complete_link_training (struct isci_phy *iphy , enum
sas_linkrate max_link_rate , u32 next_state );
No cap, that's the whole signature. Returns void, so don't go looking for a return value, she gives you nothing back and that's iconic of her. π
π¦ ARGUMENTS π¦
iphyβ this one's the phy object for which link training has completed. The main character of this whole situation, honestly. β¨max_link_rateβ the maximum link rate that gets associated with this phy. It's anenum sas_linkrate, so it's giving "please pick from the list." π₯next_stateβ au32that specifies the next state for the phy's starting sub-state machine. Yes, "starting sub-state machine" is the real name, and yes, it lowkey sounds like a vibe check for a tiny robot. π§ It's literally where the phy goes next.
π SEE ALSO π
Okay so the kernel file living at ./drivers/scsi/isci/phy.c is the homegirl here, and she's bringing her whole friend group:
phy_get_non_dummy_port(9)sci_phy_setup_transport(9)scu_link_layer_stop_protocol_engine(9)scu_link_layer_tx_hard_reset(9)isci_phy_control(9)
Read those if you want the full lore, iykyk. ππ
Fr fr, this one's a kernel API manual page, so like... respect the kernel, bestie. π«Ά
π That's the whole page! The source is ./drivers/scsi/isci and it's dated October 2026, and the page is sci_phy_comp...ink_training(9) β slay, go forth and complete that link training. πβ
π¦ 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