kernel-ark/drivers
Tejun Heo 7d47e8d4d4 libata: put some intelligence into EH speed down sequence
The current EH speed down code is more of a proof that the EH
framework is capable of adjusting transfer speed in response to error.
This patch puts some intelligence into EH speed down sequence.  The
rules are..

* If there have been more than three timeout, HSM violation or
  unclassified DEV errors for known supported commands during last 10
  mins, NCQ is turned off.

* If there have been more than three timeout or HSM violation for known
  supported command, transfer mode is slowed down.  If DMA is active,
  it is first slowered by one grade (e.g. UDMA133->100).  If that
  doesn't help, it's slowered to 40c limit (UDMA33).  If PIO is
  active, it's slowered by one grade first.  If that doesn't help,
  PIO0 is forced.  Note that this rule does not change transfer mode.
  DMA is never degraded into PIO by this rule.

* If there have been more than ten ATA bus, timeout, HSM violation or
  unclassified device errors for known supported commands && speeding
  down DMA mode didn't help, the device is forced into PIO mode.  Note
  that this rule is considered only for PATA devices and is pretty
  difficult to trigger.

One error can only trigger one rule at a time.  After a rule is
triggered, error history is cleared such that the next speed down
happens only after some number of errors are accumulated.  This makes
sense because now speed down is done in bigger stride.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-02-21 04:58:16 -05:00
..
acorn
acpi
amba
ata libata: put some intelligence into EH speed down sequence 2007-02-21 04:58:16 -05:00
atm
auxdisplay [PATCH] cfag12864b: fix crash when built-in and no parport present 2007-02-20 17:10:14 -08:00
base [PATCH] rework reserved major handling 2007-02-20 17:10:13 -08:00
block [PATCH] pktcdvd: Correctly set cmd_len field in pkt_generic_packet 2007-02-20 17:10:14 -08:00
bluetooth
cdrom
char [PATCH] tty: use NULL for ptrs 2007-02-20 17:10:14 -08:00
clocksource
connector
cpufreq
crypto
dio
dma
edac
eisa
fc4
firmware
hid
hwmon
i2c
ide
ieee1394
infiniband
input
isdn [PATCH] drivers/isdn/gigaset/: build asyncdata.o into the gigaset module 2007-02-20 17:10:16 -08:00
kvm
leds
macintosh
mca
md
media
message
mfd [PATCH] mfd: SM501 core driver 2007-02-20 17:10:14 -08:00
misc
mmc
mtd
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-02-20 10:26:46 -08:00
nubus
oprofile
parisc
parport [PATCH] parport_pc: fix parport_pc_probe_port section warning 2007-02-20 17:10:16 -08:00
pci
pcmcia
pnp
ps3
rapidio
rtc [PATCH] at91_rtc updates 2007-02-20 17:10:15 -08:00
s390
sbus
scsi
serial [PATCH] 8250: Fix GCC4 signed/unsigned mismatch warning 2007-02-20 17:10:15 -08:00
sh
sn
spi [PATCH] spi_s3c2410_gpio.c spi mode 2 and 3 support 2007-02-20 17:10:16 -08:00
tc
telephony
usb
video [PATCH] i810fb: fix i810_check_params section mismatch 2007-02-20 17:10:16 -08:00
w1
zorro
Kconfig
Makefile