aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ahci.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-03-12 11:25:27 +0900
committerJeff Garzik <jeff@garzik.org>2006-03-11 21:48:53 -0500
commit4b10e559277de490bf5c257a1e3264a2bf51404b (patch)
treea9f165b6e57d83b9f702838741b0958c334ba215 /drivers/scsi/ahci.c
parentlibata: turn on ATAPI by default (diff)
downloadlinux-dev-4b10e559277de490bf5c257a1e3264a2bf51404b.tar.xz
linux-dev-4b10e559277de490bf5c257a1e3264a2bf51404b.zip
[PATCH] ahci: enable prefetching for PACKET commands
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>
Diffstat (limited to 'drivers/scsi/ahci.c')
-rw-r--r--drivers/scsi/ahci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
index 00dfdefe2967..e97ab3e6de4d 100644
--- a/drivers/scsi/ahci.c
+++ b/drivers/scsi/ahci.c
@@ -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);
}