VIAIDE(4) | Device Drivers Manual | VIAIDE(4)

# NAME

`viaide` —
AMD, NVIDIA and VIA IDE disk controllers driver

# SYNOPSIS

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

# DESCRIPTION

The `viaide` driver supports the following IDE controllers and provides the interface with the hardware for the `ata` driver:

- 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.

The 0x0002 flag forces the `viaide` driver to disable DMA on chipsets for which DMA would normally be enabled. This can be used as a debugging aid, or to work around problems where the IDE controller is wired up to the system incorrectly.

# SEE ALSO

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

# BUGS

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. This does not appear to be necessary on all drives, 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). The bug, if triggered, will cause a total system hang.

The timings used for the PIO and DMA modes for controllers listed above are for a PCI bus running at 30 or 33 MHz. This driver may not work properly on overclocked systems.

October 17, 2025 | NetBSD 9.5