NAME
cmdide
—
CMD Technology and Silicon Image IDE
disk controllers driver
SYNOPSIS
cmdide* at pci? dev ? function ? flags
0x0000
options PCIIDE_CMD064x_DISABLE
options PCIIDE_CMD0646U_ENABLEUDMA
DESCRIPTION
Thecmdide
driver supports the CMD Technology PCI0640,
PCI0643, PCI0646, PCI0648, PCI0649, and Silicon Image 0680 IDE controllers,
and provides the interface with the hardware for the
ata(4)
driver.
The 0x0002 flag forces the cmdide
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
There's no way to reliably know if a PCI064x controller is enabled or not. If the driver finds a PCI064x, it will assume it is enabled unless the PCIIDE_CMD064x_DISABLE option is specified in the kernel config file. This will be a problem only if the controller has been disabled in the BIOS and another controller has been installed and uses the ISA legacy I/O ports and interrupts.
The PCI0646U controller is known to be buggy with Ultra-DMA transfers, so Ultra-DMA is disabled by default for this controller. To enable Ultra-DMA, use the PCIIDE_CMD0646U_ENABLEUDMA option. Ultra-DMA can eventually be disabled on a per-drive basis with config flags, see wd(4).
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.