libata: use longer 0xff wait if parallel scan is enabled
authorTejun Heo <tj@kernel.org>
Fri, 9 Apr 2010 10:46:38 +0000 (19:46 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 14 May 2010 21:08:02 +0000 (17:08 -0400)
commitb48d58f55aa1d2d0d12378e45663842d4021916e
tree6fe1afb742eef755f4d09022548b6d2d2f8e919e
parent294440887b32c58d220fb54b73b7a58079b78f20
libata: use longer 0xff wait if parallel scan is enabled

There are some SATA devices which take relatively long to get out of
0xff status after reset.  In libata, this timeout is determined by
ATA_TMOUT_FF_WAIT.  Quantum GoVault is the worst requring about 2s for
reliable detection.  However, because 2s 0xff timeout can introduce
rather long spurious delay during boot, libata has been compromising
at the next longest timeout of 800ms for HHD424020F7SV00 iVDR drive.

Now that parallel scan is in place for common drivers, libata can
afford 2s 0xff timeout.  Use 2s 0xff timeout if parallel scan is
enabled.

Please note that the chance of spurious wait is pretty slim w/ working
SCR access so this will only affect SATA controllers w/o SCR access
which isn't too common these days.

Please read the following thread for more information on the GoVault
drive.

  http://thread.gmane.org/gmane.linux.ide/14545/focus=14663

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Gary Hade <garyhade@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-core.c
include/linux/libata.h