CMDIDE(4)

πŸ“¦ version 11.0, in nixpkgs unstable

CMDIDE(4) πŸ’…

okay so this page is from the Kernel Interfaces Manual, and it's all about the cmdide driver. no cap, it's giving β€œyour IDE disk controllers need a hype squad.” let's go. 🫢

🌸 NAME 🌸

cmdide β€” the driver for CMD Technology and Silicon Image IDE disk controllers. that's the whole name, bestie. πŸ’–

✨ SYNOPSIS ✨

the kernel config setup is literally:

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. it also provides the interface with the hardware for the ata(4) driver. iconic behavior, honestly. πŸ‘‘

  • the 0x0002 flag forces the cmdide driver to disable DMA on chipsets for which DMA would normally be enabled. use this as a debugging aid, or to work around problems where the IDE controller is wired up to the system incorrectly. lowkey important. 🫢

need the kernel options spelled out too? yes bestie:

  • PCIIDE_CMD064x_DISABLE β€” the kernel config option that tells the driver not to assume a PCI064x controller is enabled (the BUGS section has the whole story).
  • PCIIDE_CMD0646U_ENABLEUDMA β€” the kernel config option that enables Ultra-DMA for the PCI0646U controller.

🌈 SEE ALSO 🌈

go read these, iykyk:

πŸ’€ BUGS πŸ’€

😭 the PCI064x mystery 😭

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. not me side-eyeing the BIOS. πŸ™ˆ

πŸ’€ the PCI0646U Ultra-DMA situation πŸ’€

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). periodt. πŸŽ€

⏰ timings and overclocking ⏰

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. so maybe don't come for this driver with a chaotic overclock, bestie. 😭

xoxo, Debian Β· December 13, 2003 Β· CMDIDE(4) πŸŽ€

πŸ“¦ where this page comes from