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 IDE Controllers, VT6421 Serial RAID Controller and
CX700 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.
Drives on the VT6421 Serial RAID Controller can only be accessed after they have
been configured into RAID or JBOD sets via its BIOS. It is also inaptly named
as it has both SATA and PATA interfaces.
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.