xgene_ahci_pmp_softreset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

okay bestie, this is xgene_ahci_pmp_softreset(9), straight out of the Kernel API Manual β€” and its whole main-character job is to issue the softreset to the drives connected to Port Multiplier. slay.

✨ SYNOPSIS

int xgene_ahci_pmp_softreset (struct ata_link *link , unsigned int
       *class , unsigned long deadline );

🫢 ARGUMENTS

  • link β€” link to reset
  • class β€” Return value to indicate class of device
  • deadline β€” deadline jiffies for the operation

🧚 DESCRIPTION

so here’s the tea: due to H/W errata, the controller is unable to save the PMP field fetched from command header before sending the H2D FIS. 😭 when the device returns the PMP port field in the D2H FIS, there is a mismatch and results in command completion failure. not cute.

the workaround is literally to write the pmp value to PxFBS.DEV field before issuing any command to PMP. periodt. πŸ’…

🌈 SEE ALSO

Kernel file ./drivers/ata/ahci_xgene.c is the home base, and these are the see-also besties:

okay that’s the whole page πŸ’– cute sign-off: source/version ./drivers/ata, date October 2026. bye bestie 🫢

πŸ“¦ where this page comes from