aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-04-02 05:51:53 -0400
committerJeff Garzik <jeff@garzik.org>2006-04-02 10:09:20 -0400
commit2719736779da2c7fbb17d3de16c817b429bfeb9c (patch)
treef65b910e990cc59805faefc33fbb84cd419572c4
parente8384607d4f395985e3cc5f82d75fc73efc2ecf0 (diff)
[PATCH] libata: add ATA_QCFLAG_IO
Add a new qc flag ATA_QCFLAG_IO. This flag gets set for normal IO commands originating from SCSI midlayer. This information will be used by EH to determine transfer speed reconfiguration. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/scsi/libata-scsi.c1
-rw-r--r--include/linux/libata.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
index 096bdffbde11..234e1cadb070 100644
--- a/drivers/scsi/libata-scsi.c
+++ b/drivers/scsi/libata-scsi.c
@@ -1188,6 +1188,7 @@ static unsigned int ata_scsi_rw_xlat(struct ata_queued_cmd *qc, const u8 *scsicm
1188 u64 block; 1188 u64 block;
1189 u32 n_block; 1189 u32 n_block;
1190 1190
1191 qc->flags |= ATA_QCFLAG_IO;
1191 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; 1192 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
1192 1193
1193 if (scsicmd[0] == WRITE_10 || scsicmd[0] == WRITE_6 || 1194 if (scsicmd[0] == WRITE_10 || scsicmd[0] == WRITE_6 ||
diff --git a/include/linux/libata.h b/include/linux/libata.h
index cbbc821fe22c..a6d829cb0567 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -161,7 +161,8 @@ enum {
161 ATA_QCFLAG_SG = (1 << 1), /* have s/g table? */ 161 ATA_QCFLAG_SG = (1 << 1), /* have s/g table? */
162 ATA_QCFLAG_SINGLE = (1 << 2), /* no s/g, just a single buffer */ 162 ATA_QCFLAG_SINGLE = (1 << 2), /* no s/g, just a single buffer */
163 ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE, 163 ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE,
164 ATA_QCFLAG_EH_SCHEDULED = (1 << 3), /* EH scheduled */ 164 ATA_QCFLAG_IO = (1 << 3), /* standard IO command */
165 ATA_QCFLAG_EH_SCHEDULED = (1 << 4), /* EH scheduled */
165 166
166 /* host set flags */ 167 /* host set flags */
167 ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host_set only */ 168 ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host_set only */