ide: ide_id_has_flush_cache() -> ata_id_flush_enabled()

* Add ata_id_flush_enabled() inline helper to <linux/ata.h>.

* ide_id_has_flush_cache() -> ata_id_flush_enabled()

  The latter one also checks if the command is marked as
  supported in word 83 and validity of words 83 & 86.

Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
Bartlomiej Zolnierkiewicz
2008-10-10 22:39:30 +02:00
parent 1a4e4d4d2c
commit 4b58f17d7c
4 changed files with 13 additions and 7 deletions

View File

@@ -651,7 +651,7 @@ static void update_ordered(ide_drive_t *drive)
* not available so we don't need to recheck that.
*/
capacity = idedisk_capacity(drive);
barrier = ide_id_has_flush_cache(id) && !drive->noflush &&
barrier = ata_id_flush_enabled(id) && !drive->noflush &&
(drive->addressing == 0 || capacity <= (1ULL << 28) ||
ide_id_has_flush_cache_ext(id));
@@ -678,7 +678,7 @@ static int set_wcache(ide_drive_t *drive, int arg)
if (arg < 0 || arg > 1)
return -EINVAL;
if (ide_id_has_flush_cache(drive->id)) {
if (ata_id_flush_enabled(drive->id)) {
memset(&args, 0, sizeof(ide_task_t));
args.tf.feature = arg ?
SETFEATURES_WC_ON : SETFEATURES_WC_OFF;
@@ -886,7 +886,7 @@ static void idedisk_setup(ide_drive_t *drive)
static void ide_cacheflush_p(ide_drive_t *drive)
{
if (!drive->wcache || !ide_id_has_flush_cache(drive->id))
if (!drive->wcache || ata_id_flush_enabled(drive->id) == 0)
return;
if (do_idedisk_flushcache(drive))