NAME
geodeide —
AMD Geode IDE disk
controllers driver
SYNOPSIS
geodeide* at pci? dev ? function ? flags 0x0000
DESCRIPTION
The
geodeide 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.