This repository has been archived on 2026-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ubports_kernel_google_msm/include/linux
Tejun Heo 6fc49adb94 [PATCH] libata: use FLUSH_EXT only when driver is larger than LBA28 limit
Many drives support LBA48 even when its capacity is smaller than
1<<28, as LBA48 is required for many functionalities.  FLUSH_EXT is
mandatory for drives w/ LBA48 support.

Interestingly, at least one of such drives (ST960812A) has problems
dealing with FLUSH_EXT.  It eventually completes the command but takes
around 7 seconds to finish in many cases thus drastically slowing down
IO transactions.  This seems to be a firmware bug which sneaked into
production probably because no other ATA driver including linux IDE
issues FLUSH_EXT to drives which report support for LBA48 & FLUSH_EXT
but is smaller than 1<<28 blocks.

This patch adds ATA_DFLAG_FLUSH_EXT which is set iff the drive
supports LBA48 & FLUSH_EXT and is larger than LBA28 limit.  Both cache
flush paths are updated to issue FLUSH_EXT only when the flag is set.
Note that the changed behavior is more inline with the rest of libata.
libata prefers shorter commands whenever possible.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Danny Kukawka <dkukawka@novell.com>
Cc: Stefan Seyfried <seife@novell.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-12-01 22:45:54 -05:00
..
2006-09-26 17:40:24 -04:00
2006-10-03 23:01:26 +02:00
2006-10-01 00:39:29 -07:00
2006-09-28 17:53:58 -07:00
2006-10-04 08:31:24 -04:00
2006-01-13 09:12:21 -08:00
2006-10-03 23:01:26 +02:00
2005-10-04 13:22:01 -07:00
2006-10-04 19:32:09 +02:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:16:27 -07:00
2006-10-10 15:37:20 -07:00
2006-06-09 16:14:20 -04:00
2006-02-23 09:56:38 +00:00
2006-10-03 08:04:16 -07:00
2006-07-03 19:44:51 -07:00
2006-05-08 16:32:05 -07:00
2006-09-26 08:48:54 -07:00
2006-06-23 02:07:36 -07:00
2006-10-11 11:14:17 -07:00
2006-03-31 12:18:54 -08:00
2005-07-12 12:08:43 -07:00
2006-09-22 15:18:47 -07:00
2006-06-25 10:01:19 -07:00
2006-07-28 21:02:00 -07:00
2006-10-02 07:57:12 -07:00
2006-09-26 17:40:24 -04:00
2006-03-26 08:56:56 -08:00
2006-09-26 15:38:52 -07:00
2006-09-28 18:02:18 -07:00
2006-09-28 18:02:13 -07:00
2005-11-08 09:40:47 -08:00
2005-07-05 15:03:46 -07:00
2006-10-04 00:31:09 -07:00
2006-09-28 18:02:29 -07:00
2006-10-02 07:57:22 -07:00
2006-10-11 11:14:23 -07:00
2006-10-10 15:37:22 -07:00
2006-08-21 10:02:50 +02:00
2006-10-04 00:31:09 -07:00
2006-10-04 07:55:12 -07:00
2006-10-04 00:31:09 -07:00
2006-09-28 18:02:30 -07:00
2006-03-20 22:21:10 -08:00
2006-06-21 12:40:49 -07:00
2006-11-30 05:24:39 +01:00
2006-11-30 04:53:49 +01:00
2006-11-30 01:14:44 +00:00
2005-10-08 15:00:57 -07:00
2006-07-31 15:44:29 -04:00
2006-06-05 12:29:17 -07:00
2006-10-11 11:14:15 -07:00
2005-10-28 08:16:47 -07:00
2006-03-22 07:53:57 -08:00
2006-11-30 04:40:22 +01:00
2006-09-28 18:02:22 -07:00
2006-11-16 11:43:38 -08:00
2006-10-01 00:39:19 -07:00
2006-03-23 07:38:14 -08:00
2006-03-23 07:38:14 -08:00
2006-10-17 08:18:43 -07:00
2006-11-28 20:59:39 -08:00
2006-03-20 13:44:40 -05:00
2006-08-27 11:01:32 -07:00
2006-03-27 08:44:48 -08:00
2006-08-19 17:44:31 -04:00
2006-10-03 08:03:40 -07:00
2006-05-04 06:55:12 +02:00
2006-06-28 15:54:27 -07:00
2006-11-03 12:27:58 -08:00
2006-07-03 19:48:25 -07:00
2006-10-03 23:01:26 +02:00
2006-10-02 07:57:15 -07:00
2006-06-23 07:42:49 -07:00
2006-10-17 08:18:43 -07:00
2006-06-25 10:01:06 -07:00
2006-11-30 05:24:39 +01:00
2006-06-25 10:01:06 -07:00
2006-09-26 08:49:04 -07:00
2005-11-07 07:53:46 -08:00
2006-09-26 08:48:44 -07:00
2006-06-25 10:01:14 -07:00
2006-03-23 07:38:12 -08:00
2005-10-30 17:37:32 -08:00
2006-10-11 01:45:31 -04:00
2005-11-07 07:53:37 -08:00
2006-10-10 16:15:34 -07:00
2006-10-01 00:39:18 -07:00
2006-10-01 00:39:19 -07:00
2006-09-26 08:48:58 -07:00
2006-10-11 11:14:21 -07:00
2006-10-18 20:36:48 -07:00
2006-11-30 05:32:19 +01:00
2005-09-18 00:18:32 -07:00
2006-10-06 08:53:40 -07:00
2006-03-31 12:18:56 -08:00
2006-09-28 17:53:59 -07:00
2006-01-10 08:01:59 -08:00
2006-09-27 08:26:20 -07:00
2006-03-23 07:38:14 -08:00
2006-09-28 18:02:16 -07:00
2006-12-01 14:25:52 -08:00
2006-10-01 00:39:19 -07:00
2006-10-04 07:55:12 -07:00
2006-09-29 09:18:13 -07:00
2006-09-25 16:52:14 -04:00
2006-10-09 14:20:38 -07:00
2006-10-04 00:31:09 -07:00