libata: introduce notion of separate hardware tags
Rigth now these are the same, but drivers should be using ->hw_tag for their command setup and issue. Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
804689ad2d
commit
5ac40790b4
|
@ -1600,7 +1600,7 @@ unsigned ata_exec_internal_sg(struct ata_device *dev,
|
||||||
|
|
||||||
qc = __ata_qc_from_tag(ap, tag);
|
qc = __ata_qc_from_tag(ap, tag);
|
||||||
|
|
||||||
qc->tag = tag;
|
qc->tag = qc->hw_tag = tag;
|
||||||
qc->scsicmd = NULL;
|
qc->scsicmd = NULL;
|
||||||
qc->ap = ap;
|
qc->ap = ap;
|
||||||
qc->dev = dev;
|
qc->dev = dev;
|
||||||
|
@ -5125,7 +5125,7 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev, int tag)
|
||||||
}
|
}
|
||||||
|
|
||||||
qc = __ata_qc_from_tag(ap, tag);
|
qc = __ata_qc_from_tag(ap, tag);
|
||||||
qc->tag = tag;
|
qc->tag = qc->hw_tag = tag;
|
||||||
qc->scsicmd = NULL;
|
qc->scsicmd = NULL;
|
||||||
qc->ap = ap;
|
qc->ap = ap;
|
||||||
qc->dev = dev;
|
qc->dev = dev;
|
||||||
|
|
|
@ -637,7 +637,8 @@ struct ata_queued_cmd {
|
||||||
u8 cdb[ATAPI_CDB_LEN];
|
u8 cdb[ATAPI_CDB_LEN];
|
||||||
|
|
||||||
unsigned long flags; /* ATA_QCFLAG_xxx */
|
unsigned long flags; /* ATA_QCFLAG_xxx */
|
||||||
unsigned int tag;
|
unsigned int tag; /* libata core tag */
|
||||||
|
unsigned int hw_tag; /* driver tag */
|
||||||
unsigned int n_elem;
|
unsigned int n_elem;
|
||||||
unsigned int orig_n_elem;
|
unsigned int orig_n_elem;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue