ata_bmdma_setup(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ata_bmdma_setup ✨

okay so welcome to the Kernel API Manual, bestie β€” this is the page for ata_bmdma_setup, and it's giving "short but crucial" ngl πŸŽ€


🌸 NAME

ata_bmdma_setup β€” Set up PCI IDE BMDMA transaction 🫢


✨ SYNOPSIS

void ata_bmdma_setup (struct ata_queued_cmd *qc );

that's it. that's the whole signature. no return value, no drama, just vibes and a pointer πŸ’…


πŸŽ€ ARGUMENTS

  • qc β€” the Info associated with this ATA transaction. that's your whole little packet of context, the main character of this function fr fr πŸ’–

πŸ’– DESCRIPTION

LOCKING: spin_lock_irqsave(host lock)

like… that's the entire description and I'm obsessed with the confidence 😭 the original authors said "locking info only, figure out the rest" and honestly? iconic. so bestie, the one thing you absolutely cannot skip: this thing runs under spin_lock_irqsave(host lock). write that down. tattoo it. don't argue with it πŸ”₯

no cap, that locking line is the only behavioral detail on this page β€” don't go inventing extra ones πŸ™ˆ

πŸ¦‹ SEE ALSO

Kernel file ./drivers/ata/libata-sff.c β€” and the whole extended family, because this function literally refuses to be alone in the source tree πŸ˜­πŸ’€

the SFF squad:

the ATAPI girlies:

the HSM crew:

interrupts & reset lore:

the PCI SFF host builders:

the full BMDMA lineup πŸ’…:

like, go read all of them. or at least the ones you need. iykyk 🌈⭐


that's the whole page bestie, short and slay πŸ’œ this one's from the source path ./drivers/ata, dated October 2026 β€” mwah, go set up that BMDMA transaction 🧚✨

πŸ“¦ where this page comes from