ata_sff_hsm_move(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ata_sff_hsm_move β€” like, the HSM glow-up episode

okay bestie, welcome to the Kernel API Manual ✨ this one's a little function from the deep magic of libata, and honestly? it's giving "backstage pass to the state machine" energy πŸŽ€


✨ NAME ✨

ata_sff_hsm_move β€” moves the HSM to the next state πŸ¦‹ periodt, that's the whole job. it's the lil usher walking your hardware state machine to its next seat, no cap.


🌸 SYNOPSIS 🌸

int ata_sff_hsm_move (struct ata_port *ap , struct ata_queued_cmd *qc ,
u8 status , int in_wq );

like, she takes four things and hands you back an int πŸ’– iconic behavior.


πŸŽ€ ARGUMENTS πŸŽ€

  • ap β€” the target ata_port πŸ‘‘ this is the port she's working her magic on.
  • qc β€” the qc that's on going πŸƒβ€β™€οΈ literally the queued command that's currently in flight, main character of this call.
  • status β€” current device status 🩺 the vibe check on the device right now, as a u8.
  • in_wq β€” 1 if called from workqueue, 0 otherwise 🌈 so basically "are we in the workqueue era or not," iykyk.

⭐ RETURN ⭐

  • 1 β€” when poll next status needed πŸ‘€ you gotta come back and check status again, bestie.
  • 0 β€” otherwise πŸ’… you're free, nothing more to poll.

πŸ¦‹ SEE ALSO πŸ¦‹

okay so this is the part where she name-drops everyone in the libata group chat 😭 all from the kernel file ./drivers/ata/libata-sff.c:

like, she knows everybody πŸ’€ and yes you should go read them too, they're all right there in libata-sff.c. no gatekeeping here 🫢


ngl this page is short but she ate πŸ“ the state machine doesn't move itself, bestie β€” somebody's gotta call ata_sff_hsm_move.

and that's the whole page!! πŸ’œ courtesy of the ./drivers/ata girlies, dated October 2026 β€” mwah, thanks for reading, slay πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from