patch-2.0.37 linux/Documentation/ide.txt

Next file: linux/Documentation/isdn/README
Previous file: linux/Documentation/README.DAC960
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.36/linux/Documentation/ide.txt linux/Documentation/ide.txt
@@ -5,6 +5,9 @@
 	Gadi Oxman   <gadio@netvision.net.il>	-- tapes, disks, whatever
 	Scott Snyder <snyder@fnald0.fnal.gov>	-- cdroms, ATAPI, audio
 
+UDMA support was added for various chipsets, from kernel 2.0.35 on. Check
+the udma.txt file in this directory for details.
+
    +-----------------------------------------------------------------+
    |  The hdparm utility for controlling various IDE features is     |
    |  packaged separately.  Look for it on popular linux FTP sites.  |
@@ -483,3 +486,135 @@
 For really high end systems, go for fast/wide 7200rpm SCSI.  But it'll cost ya!
 
 mlord@pobox.com
+================================================================================
+
+DMA Bus Master transfer
+-----------------------
+The triton.c driver provides support for the DMA Bus Mastering functions of
+the Intel PCI Triton I/II chipsets (i82371FB or i82371SB).
+
+Pretty much the same code will work for the OPTi "Viper" chipset. Look for
+DMA support for this in linux kernel 2.1.xx, when it appears.
+
+DMA is currently supported only for hard disk drives (not cdroms).
+
+Support for cdroms will likely be added at a later date, after broader
+experience has been obtained with hard disks.
+
+Up to four drives may be enabled for DMA, and the motherboard chipset will
+(hopefully) arbitrate the PCI bus among them.  Note that the i82371 chip
+provides a single "line buffer" for the BM IDE function, so performance of
+multiple (two) drives doing DMA simultaneously will suffer somewhat, as they
+contest for that resource bottleneck.  This is handled transparently inside
+the i82371 chip.
+
+The SiS 5513 controller has two completely independent IDE controller units,
+each with a 64-byte line buffer (same size as the Intel); there is no
+bottleneck in simultaneous (U)DMA transfers for this resource. The 5513 is
+built-in the SiS 5571, 5598 and 5591 chipsets.
+
+The VIA chipsets like the Intel have a single 64 byte line buffer, but it
+can be split 1/2-1/2 or 1/4-3/4 between both channels.
+
+By default, DMA support is prepared for use, but is currently enabled only
+for drives which support multi-word DMA mode2 (mword2), or which are
+recognized as "good" (see table below).  Drives with only mode0 or mode1
+(single or multi) DMA should also work with this chipset/driver (eg.
+MC2112A) but are not enabled by default.  Use "hdparm -i" to view modes
+supported by a given drive.
+
+The hdparm-3.3 (patched) utility can be used to manually enable /disable DMA
+support, but must be (re-)compiled against this kernel version or later.
+
+Michel Aubry has produced a patch against hdparm-3.3 to support UDMA.
+
+To enable DMA, use "hdparm -d1 /dev/hd?" on a per-drive basis after booting.
+If problems arise, ide.c will disable DMA operation after a few retries.
+This error recovery mechanism works and has been extremely well exercised.
+
+IDE drives, depending on their vintage, may support several different modes
+of DMA operation.  The boot-time modes are indicated with a "*" in the
+"hdparm -I" listing, and can be changed with *knowledgeable* use of the
+"hdparm -X" feature (X32 for DMA 0, X33 for DMA 1, X34 for DMA 2, X64 for
+UDMA 0, X65 for UDMA 1 and X66 for UDMA 2).
+
+Testing was done with an ASUS P55TP4XE/100 system and the following drives:
+
+  Quantum Fireball 1080A (1Gig w/83kB buffer), DMA mode2, PIO mode4.
+ 	- DMA mode2 works well (7.4MB/sec), despite the tiny on-drive buffer.
+ 	- This drive also does PIO mode4, at about the same speed as DMA mode2.
+ 	  An awesome drive for the price!
+ 
+  Fujitsu M1606TA (1Gig w/256kB buffer), DMA mode2, PIO mode4.
+ 	- DMA mode2 gives horrible performance (1.6MB/sec), despite the good
+ 	  size of the on-drive buffer and a boasted 10ms average access time.
+ 	- PIO mode4 was better, but peaked at a mere 4.5MB/sec.
+ 
+  Micropolis MC2112A (1Gig w/508kB buffer), drive pre-dates EIDE and ATA2.
+ 	- DMA works fine (2.2MB/sec), probably due to the large on-drive buffer.
+ 	- This older drive can also be tweaked for fastPIO (3.7MB/sec) by using
+ 	  maximum clock settings (5,4) and setting all flags except prefetch.
+ 
+  Western Digital AC31000H (1Gig w/128kB buffer), DMA mode1, PIO mode3.
+ 	- DMA does not work reliably.  The drive appears to be somewhat tardy
+ 	  in deasserting DMARQ at the end of a sector.  This is evident in
+ 	  the observation that WRITEs work most of the time, depending on
+ 	  cache-buffer occupancy, but multi-sector reads seldom work.
+ 
+Testing was done with a Gigabyte GA-586 ATE system and the following drive:
+(Uwe Bonnes - bon@elektron.ikp.physik.th-darmstadt.de)
+ 
+  Western Digital AC31600H (1.6Gig w/128kB buffer), DMA mode2, PIO mode4.
+ 	- much better than its 1Gig cousin, this drive is reported to work
+ 	  very well with DMA (7.3MB/sec).
+ 
+Other drives:
+ 
+  Maxtor 7540AV (515Meg w/32kB buffer), DMA modes mword0/sword2, PIO mode3.
+ 	- a budget drive, with budget performance, around 3MB/sec.
+ 
+  Western Digital AC2850F (814Meg w/64kB buffer), DMA mode1, PIO mode3.
+ 	- another "caviar" drive, similar to the AC31000, except that this one
+ 	  worked with DMA in at least one system.  Throughput is about 3.8MB/sec
+ 	  for both DMA and PIO.
+ 
+  Conner CFS850A (812Meg w/64kB buffer), DMA mode2, PIO mode4.
+ 	- like most Conner models, this drive proves that even a fast interface
+ 	  cannot improve slow media.  Both DMA and PIO peak around 3.5MB/sec.
+ 
+  Maxtor 71260AT (1204Meg w/256kB buffer), DMA mword0/sword2, PIO mode3.
+ 	- works with DMA, on some systems (but not always on others, eg. Dell),
+ 	  giving 3-4MB/sec performance, about the same as mode3.
+ 
+  IBM DHEA 36480 (6197Meg w/476kB buffer), DMA mode2, PIO mode4, UDMA mode2
+	- works with DMA and UDMA on systems that support it. This drive and its
+	  larger 8.4GB cousin provide throughput of 9.8MB/sec under UDMA.
+ 
+If you have any drive models to add, email your results to:  mlord@pobox.com
+Keep an eye on /var/adm/messages for "DMA disabled" messages.
+ 
+Some people have reported trouble with Intel Zappa motherboards.
+This can be fixed by upgrading the AMI BIOS to version 1.00.04.BS0,
+available from ftp://ftp.intel.com/pub/bios/10004bs0.exe
+(thanks to Glen Morrell <glen@spin.Stanford.edu> for researching this).
+ 
+And, yes, Intel Zappa boards really *do* use the Triton IDE ports.
+ 
+Changes by Michel Aubry, Andre Hedrick and Andrew D. Balsa, June 1998:
+  a) Added support for non-Intel chipsets that support Bus Mastering DMA.
+  b) Added support for UDMA (33Mb/s) drives and controllers. Note that UDMA
+     support must be enabled in the BIOS, and that both the hard disk drive
+     _and_ the chipset must support UDMA.
+  On the IBM DHEA-36480 drive, transfer rates go from 7.76Mb/s to 9.76Mb/s,
+  a 25% improvement with zero cost (DMA mode2 to UDMA mode2).
+ 
+Extra UDMA PCI controller card support by Andre M. Hedrick, June 1998:
+  - PDC20246 Promise Ultra33 UDMA.
+  - AEC6210  Artop Electronics Corp. ACARD
+        sold under SIIG CN2449 UltraIDE Pro.
+  - HPT343   Triones Technologies (HighPoint Technologies) Inc.
+        future support -- nonbooting cards, need MNDA approval for
+        information release.
+        sold under Digital Research DRIDEUDMA.
+
+For more information on UDMA support, check /Documentation/udma.txt.

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov