CMDIDE(4) BSD Kernel Interfaces Manual CMDIDE(4)
cmdide -- CMD Technology and Silicon Image IDE disk controllers driver
cmdide* at pci? dev ? function ? flags 0x0000
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
The 0x0002 flag forces the cmdide driver to disable DMA on chipsets for which DMA would nor-
mally 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.
ata(4), atapi(4), intro(4), pci(4), pciide(4), wd(4), wdc(4)
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 dis-
abled by default for this controller. To enable Ultra-DMA, use the PCI-
IDE_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.
BSD December 13, 2003 BSD