Commit 8c0aeb4a authored by Mark Lord's avatar Mark Lord Committed by Jeff Garzik

sata_mv ncq Use hqtag instead of ioid

Simplify tag handling by using the cid/hqtag field instead of ioid,
as recommended by Marvell.
Signed-off-by: default avatarMark Lord <mlord@pobox.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 72109168
...@@ -1252,7 +1252,6 @@ static void mv_qc_prep(struct ata_queued_cmd *qc) ...@@ -1252,7 +1252,6 @@ static void mv_qc_prep(struct ata_queued_cmd *qc)
flags |= CRQB_FLAG_READ; flags |= CRQB_FLAG_READ;
WARN_ON(MV_MAX_Q_DEPTH <= qc->tag); WARN_ON(MV_MAX_Q_DEPTH <= qc->tag);
flags |= qc->tag << CRQB_TAG_SHIFT; flags |= qc->tag << CRQB_TAG_SHIFT;
flags |= qc->tag << CRQB_IOID_SHIFT; /* 50xx appears to ignore this*/
/* get current queue index from software */ /* get current queue index from software */
in_index = pp->req_idx & MV_MAX_Q_DEPTH_MASK; in_index = pp->req_idx & MV_MAX_Q_DEPTH_MASK;
...@@ -1345,8 +1344,7 @@ static void mv_qc_prep_iie(struct ata_queued_cmd *qc) ...@@ -1345,8 +1344,7 @@ static void mv_qc_prep_iie(struct ata_queued_cmd *qc)
WARN_ON(MV_MAX_Q_DEPTH <= qc->tag); WARN_ON(MV_MAX_Q_DEPTH <= qc->tag);
flags |= qc->tag << CRQB_TAG_SHIFT; flags |= qc->tag << CRQB_TAG_SHIFT;
flags |= qc->tag << CRQB_IOID_SHIFT; /* "I/O Id" is -really- flags |= qc->tag << CRQB_HOSTQ_SHIFT;
what we use as our tag */
/* get current queue index from software */ /* get current queue index from software */
in_index = pp->req_idx & MV_MAX_Q_DEPTH_MASK; in_index = pp->req_idx & MV_MAX_Q_DEPTH_MASK;
...@@ -1587,13 +1585,8 @@ static void mv_intr_edma(struct ata_port *ap) ...@@ -1587,13 +1585,8 @@ static void mv_intr_edma(struct ata_port *ap)
* support for queueing. this works transparently for * support for queueing. this works transparently for
* queued and non-queued modes. * queued and non-queued modes.
*/ */
else if (IS_GEN_II(hpriv)) else
tag = (le16_to_cpu(pp->crpb[out_index].id) tag = le16_to_cpu(pp->crpb[out_index].id) & 0x1f;
>> CRPB_IOID_SHIFT_6) & 0x3f;
else /* IS_GEN_IIE */
tag = (le16_to_cpu(pp->crpb[out_index].id)
>> CRPB_IOID_SHIFT_7) & 0x3f;
qc = ata_qc_from_tag(ap, tag); qc = ata_qc_from_tag(ap, tag);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment