xgene_ahci_pmp_softreset(9)
π 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 resetclassβ Return value to indicate class of devicedeadlineβ 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:
xgene_ahci_poll_reg_val(9)xgene_ahci_restart_engine(9)xgene_ahci_qc_issue(9)xgene_ahci_read_id(9)xgene_ahci_do_hardreset(9)xgene_ahci_softreset(9)xgene_ahci_handle_broken_edge_irq(9)
okay thatβs the whole page π cute sign-off: source/version ./drivers/ata, date October 2026. 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