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