[PATCH] ahci: enable prefetching for PACKET commands
authorTejun Heo <htejun@gmail.com>
Sun, 12 Mar 2006 02:25:27 +0000 (11:25 +0900)
committerJeff Garzik <jeff@garzik.org>
Sun, 12 Mar 2006 02:48:53 +0000 (21:48 -0500)
Turn on AHCI_CMD_PREFETCH for PACKET commands.  This hints the
controller that it can prefetch the CDB and the PRD entries.  This
patch is originally from Jeff Garzik.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/scsi/ahci.c

index 00dfdef..e97ab3e 100644 (file)
@@ -66,6 +66,7 @@ enum {
        AHCI_IRQ_ON_SG          = (1 << 31),
        AHCI_CMD_ATAPI          = (1 << 5),
        AHCI_CMD_WRITE          = (1 << 6),
+       AHCI_CMD_PREFETCH       = (1 << 7),
        AHCI_CMD_RESET          = (1 << 8),
        AHCI_CMD_CLR_BUSY       = (1 << 10),
 
@@ -631,7 +632,7 @@ static void ahci_qc_prep(struct ata_queued_cmd *qc)
        if (qc->tf.flags & ATA_TFLAG_WRITE)
                opts |= AHCI_CMD_WRITE;
        if (is_atapi)
-               opts |= AHCI_CMD_ATAPI;
+               opts |= AHCI_CMD_ATAPI | AHCI_CMD_PREFETCH;
 
        ahci_fill_cmd_slot(pp, opts);
 }