viaide
—
AMD, NVIDIA and VIA IDE disk controllers driver
viaide* at pci? dev ? function ? flags 0x0000
options PCIIDE_AMD756_ENABLEDMA
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, VT82C596A, VT82C686A, VT8233A,
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.
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.