aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-03-11 21:25:27 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-11 21:48:53 -0500
commit4b10e559277de490bf5c257a1e3264a2bf51404b (patch)
treea9f165b6e57d83b9f702838741b0958c334ba215 /drivers
parent418dc1f5a805822fcf1118804ddc689a4156db4a (diff)
[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')
-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 {
66 AHCI_IRQ_ON_SG = (1 << 31), 66 AHCI_IRQ_ON_SG = (1 << 31),
67 AHCI_CMD_ATAPI = (1 << 5), 67 AHCI_CMD_ATAPI = (1 << 5),
68 AHCI_CMD_WRITE = (1 << 6), 68 AHCI_CMD_WRITE = (1 << 6),
69 AHCI_CMD_PREFETCH = (1 << 7),
69 AHCI_CMD_RESET = (1 << 8), 70 AHCI_CMD_RESET = (1 << 8),
70 AHCI_CMD_CLR_BUSY = (1 << 10), 71 AHCI_CMD_CLR_BUSY = (1 << 10),
71 72
@@ -631,7 +632,7 @@ static void ahci_qc_prep(struct ata_queued_cmd *qc)
631 if (qc->tf.flags & ATA_TFLAG_WRITE) 632 if (qc->tf.flags & ATA_TFLAG_WRITE)
632 opts |= AHCI_CMD_WRITE; 633 opts |= AHCI_CMD_WRITE;
633 if (is_atapi) 634 if (is_atapi)
634 opts |= AHCI_CMD_ATAPI; 635 opts |= AHCI_CMD_ATAPI | AHCI_CMD_PREFETCH;
635 636
636 ahci_fill_cmd_slot(pp, opts); 637 ahci_fill_cmd_slot(pp, opts);
637} 638}