sata_pmp_read_gscr(9)
π sata_pmp_read_gscr β read GSCR block of SATA PMP
okay so this is a page from the Kernel API Manual, bestie β section 9, and the star of the show is sata_pmp_read_gscr. it lives over in ./drivers/ata, and the version vibes are dated October 2026. let's get into it π«Ά
β¨ SYNOPSIS β¨
int sata_pmp_read_gscr(struct ata_device *dev, u32 *gscr);
like, that's the whole signature. two args, one int coming back at you. iconic. πΈ
π ARGUMENTS π
devβ the PMP device. yeah, that one. the port multiplier we're gossiping about πgscrβ the buffer you're reading the GSCR block into. it's the lil landing pad for all the data, no cap π¬
π DESCRIPTION π
so what does it actually do? it reads the selected PMP GSCRs from the PMP sitting at dev. and why do we care? because those GSCRs serve as the configuration and identification info for the PMP. basically the PMP's whole personality, handed to you. β¨
π LOCKING: Kernel thread context (may sleep). like, it's allowed to nap, bestie β do not call this from a context that can't handle sleeping. fr fr π΄
β RETURN β
0on success β slay, we ate π-errnoon failure β something went sideways, and the error code tells you what π
π¦ SEE ALSO π¦
kernel file ./drivers/ata/libata-pmp.c, plus the whole friend group:
sata_pmp_read(9)sata_pmp_write(9)sata_pmp_qc_defer_cmd_switch(9)sata_pmp_scr_read(9)sata_pmp_scr_write(9)sata_pmp_set_lpm(9)sata_pmp_attach(9)sata_pmp_detach(9)sata_pmp_same_pmp(9)sata_pmp_revalidate(9)sata_pmp_revalidate_quick(9)sata_pmp_eh_recover_pmp(9)sata_pmp_eh_recover(9)sata_pmp_error_handler(9)
and that's the page!! π source dir is ./drivers/ata, dated October 2026, and the page name is sata_pmp_read_gscr(9) in case you forgot already ππ go read some GSCRs, bestie, you've got this πβ¨
π¦ 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