VIAIDE(4)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸ’… VIAIDE(4) β€” Kernel Interfaces Manual πŸŽ€

okay bestie, so we're literally in the viaide page rn, and it's all about the AMD, NVIDIA and VIA IDE disk controllers driver. welcome to the group chat ✨


🌸 SYNOPSIS 🌸

viaide* at pci? dev ? function ? flags 0x0000
options PCIIDE_AMD756_ENABLEDMA

that's it, that's the whole summoning ritual 🫢


✨ DESCRIPTION ✨

so the viaide driver is out here supporting a whole roster of IDE controllers, and it's the one that gives the ata driver its interface to the actual hardware. it's giving backstage pass energy. πŸŽ€

here's the cast, no cap:

  • Advanced Micro Devices AMD-756, 766, 768 and CS5536 IDE Controllers
  • NVIDIA nForce, nForce2, nForce2 400, nForce3, nForce3 250, nForce4, MCP04, MCP55, MCP61, MCP65, MCP67 IDE and SATA Controllers.
  • VIA Technologies VT82C586, VT82C586A, VT82C586B, VT82C596A, VT82C596B, VT82C686A, VT82C686B, VT8233, VT8233A, VT8233C, VT8235, VT8237/VT8237R/VT6420, VT8237A, VT8237S, VT8251, VT8261, CX700(M/M2), VX700, VX800/820, VX855/875, VX900/VX11 Integrated IDE and SATA Controllers, VT6415/VT6330 single-channel IDE Controllers, VT6410 IDE RAID Controller, and VT6421 SATA RAID & IDE Controller.

ok and then there's the 0x0002 flag πŸ‘€ β€” that one forces the viaide driver to disable DMA on chipsets where DMA would normally be turned on. it's a debugging aid, or a way to work around a situation where the IDE controller is wired up to the system incorrectly. lowkey a rescue flag. πŸ™ˆ


πŸ’œ SEE ALSO πŸ’œ

ata(4), atapi(4), intro(4), pci(4), pciide(4), wd(4), wdc(4)

go read the siblings, iykyk πŸ¦‹


πŸ’€ BUGS πŸ’€

ok this is the part where we get serious for a sec, because this one is not a cute bug. 😭

The AMD756 chip revision D2 has a bug affecting DMA (but not Ultra-DMA) modes. The workaround documented by AMD is to not use DMA on any drive which does not support Ultra-DMA modes. That said, this doesn't appear to be necessary on all drives β€” and the PCIIDE_AMD756_ENABLEDMA option can be used to force multiword DMA on the buggy revisions. Multiword DMA can eventually be disabled on a per-drive basis with config flags, see wd(4).

and like, bestie, listen to me: the bug, if it gets triggered, will cause a total system hang. not a little hiccup. whole machine. gone. πŸ’€πŸ’€πŸ’€

also, the timings used for the PIO and DMA modes for the controllers listed above are for a PCI bus running at 30 or 33 MHz. so this driver may not work properly on overclocked systems. consider yourself warned, main character. ⚠️


that's the whole page bestie, you ate that 🫢 slay, and remember: no DMA shenanigans on a D2 unless you know what you're doing πŸ’…

✨ this cutie was brought to you by Debian, dated October 17, 2025 ✨

πŸ“¦ where this page comes from