optiplus_set_dma_mode(9)
π optiplus_set_dma_mode (Kernel API Manual, bestie)
okay so real talk β this one lives in the Kernel API Manual and it's the DMA setup callback. that's the whole vibe. let's get into it β¨
πΈ NAME πΈ
optiplus_set_dma_mode β the DMA setup callback. yes that's it, that's the girl. she sets up DMA and she's iconic for it π
π¦ SYNOPSIS π¦
void optiplus_set_dma_mode (struct ata_port *ap , struct ata_device
*adev );
literally two args, no return value (void β she gives nothing back, main character energy honestly π).
β¨ ARGUMENTS β¨
apβ the ATA port πadevβ the device π«Ά
that's the cast. two of them. no cap.
π₯ DESCRIPTION π₯
so here's the situation: the libata core ships separate functions for handling PIO programming and DMA programming β two different functions, two different jobs, very much not the same thing.
but the architecture of the Firestar makes it easier for us to have one common function instead, so what we do is provide wrappers π like yeah. wrappers. we're wrapping. it's giving delegation. it's giving "i'm not doing the work, my common function is doing the work." slay π
π SEE ALSO π
kernel file ./drivers/ata/pata_optidma.c β and honestly the whole friend group is here, go say hi:
optidma_pre_reset(9)optidma_unlock(9)optidma_lock(9)optidma_mode_setup(9)optiplus_mode_setup(9)optidma_set_pio_mode(9)optidma_set_dma_mode(9)optiplus_set_pio_mode(9)optidma_make_bits43(9)optidma_set_mode(9)optiplus_with_udma(9)
lowkey a whole roster. read them all, iykyk π§
okay that's the page!! sign-off time: this lil beauty comes from ./drivers/ata, dated October 2026, and yes the page name still says optiplus_set_dma_mode(9) at the bottom too because consistency is cute π byeee π
π¦ 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