forked from Minki/linux
[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>
This commit is contained in:
parent
e8384607d4
commit
2719736779
@ -1188,6 +1188,7 @@ static unsigned int ata_scsi_rw_xlat(struct ata_queued_cmd *qc, const u8 *scsicm
|
|||||||
u64 block;
|
u64 block;
|
||||||
u32 n_block;
|
u32 n_block;
|
||||||
|
|
||||||
|
qc->flags |= ATA_QCFLAG_IO;
|
||||||
tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
|
tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
|
||||||
|
|
||||||
if (scsicmd[0] == WRITE_10 || scsicmd[0] == WRITE_6 ||
|
if (scsicmd[0] == WRITE_10 || scsicmd[0] == WRITE_6 ||
|
||||||
|
@ -161,7 +161,8 @@ enum {
|
|||||||
ATA_QCFLAG_SG = (1 << 1), /* have s/g table? */
|
ATA_QCFLAG_SG = (1 << 1), /* have s/g table? */
|
||||||
ATA_QCFLAG_SINGLE = (1 << 2), /* no s/g, just a single buffer */
|
ATA_QCFLAG_SINGLE = (1 << 2), /* no s/g, just a single buffer */
|
||||||
ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE,
|
ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE,
|
||||||
ATA_QCFLAG_EH_SCHEDULED = (1 << 3), /* EH scheduled */
|
ATA_QCFLAG_IO = (1 << 3), /* standard IO command */
|
||||||
|
ATA_QCFLAG_EH_SCHEDULED = (1 << 4), /* EH scheduled */
|
||||||
|
|
||||||
/* host set flags */
|
/* host set flags */
|
||||||
ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host_set only */
|
ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host_set only */
|
||||||
|
Loading…
Reference in New Issue
Block a user