NAME
geodeide
—
AMD Geode IDE disk controllers
driver
SYNOPSIS
geodeide* at pci? dev ? function ? flags
0x0000
DESCRIPTION
Thegeodeide
driver supports the AMD Geode CS5530A and
SC1100 IDE controllers, and provides the interface with the hardware for the
ata(4)
driver.
The 0x0002 flag forces the geodeide
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
The SC1100 controller requires 4-byte aligned data transfers and cannot handle transfers of exactly 64 kilobytes.
The CS5530 multifunction chip/core's IDE section claims to be
capable of UDMA mode 2 (33.3MB/s) but in practice using that mode swamps the
controller so badly that geodeide
limits the UDMA
negotiation to mode 1 (25MB/s) so that the other functions of this chip
continue to work.
The IDE DMA engine in the CS5530 can only do transfers on cache-line (16-byte) boundaries. Attempts to perform DMA on any other alignment will crash the system. This problem may also exist in the SC1100 since the CS5530 was its direct predecessor, and it is not clear that National Semiconductor fixed any bugs in it.
The geodeide
driver will reject attempts
to DMA to buffers not aligned to the required boundary. The
wd(4)
disk driver will back off to PIO mode to accomplish these transfer requests,
at reduced system performance.