Lines Matching refs:qc
442 static unsigned int sata_fsl_fill_sg(struct ata_queued_cmd *qc, void *cmd_desc, in sata_fsl_fill_sg() argument
466 for_each_sg(qc->sg, sg, qc->n_elem, si) { in sata_fsl_fill_sg()
475 ata_port_err(qc->ap, "s/g addr unaligned : 0x%llx\n", in sata_fsl_fill_sg()
478 ata_port_err(qc->ap, "s/g len unaligned : 0x%x\n", in sata_fsl_fill_sg()
516 static void sata_fsl_qc_prep(struct ata_queued_cmd *qc) in sata_fsl_qc_prep() argument
518 struct ata_port *ap = qc->ap; in sata_fsl_qc_prep()
522 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); in sata_fsl_qc_prep()
532 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, (u8 *) &cd->cfis); in sata_fsl_qc_prep()
537 if (qc->tf.protocol == ATA_PROT_NCQ) { in sata_fsl_qc_prep()
543 if (ata_is_atapi(qc->tf.protocol)) { in sata_fsl_qc_prep()
546 memcpy((void *)&cd->acmd, qc->cdb, qc->dev->cdb_len); in sata_fsl_qc_prep()
549 if (qc->flags & ATA_QCFLAG_DMAMAP) in sata_fsl_qc_prep()
550 num_prde = sata_fsl_fill_sg(qc, (void *)cd, in sata_fsl_qc_prep()
554 if (qc->tf.protocol == ATA_PROT_NCQ) in sata_fsl_qc_prep()
564 static unsigned int sata_fsl_qc_issue(struct ata_queued_cmd *qc) in sata_fsl_qc_issue() argument
566 struct ata_port *ap = qc->ap; in sata_fsl_qc_issue()
569 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); in sata_fsl_qc_issue()
576 iowrite32(qc->dev->link->pmp, CQPMP + hcr_base); in sata_fsl_qc_issue()
593 static bool sata_fsl_qc_fill_rtf(struct ata_queued_cmd *qc) in sata_fsl_qc_fill_rtf() argument
595 struct sata_fsl_port_priv *pp = qc->ap->private_data; in sata_fsl_qc_fill_rtf()
596 struct sata_fsl_host_priv *host_priv = qc->ap->host->private_data; in sata_fsl_qc_fill_rtf()
598 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); in sata_fsl_qc_fill_rtf()
603 ata_tf_from_fis(cd->sfis, &qc->result_tf); in sata_fsl_qc_fill_rtf()
1076 static void sata_fsl_post_internal_cmd(struct ata_queued_cmd *qc) in sata_fsl_post_internal_cmd() argument
1078 if (qc->flags & ATA_QCFLAG_FAILED) in sata_fsl_post_internal_cmd()
1079 qc->err_mask |= AC_ERR_OTHER; in sata_fsl_post_internal_cmd()
1081 if (qc->err_mask) { in sata_fsl_post_internal_cmd()
1095 struct ata_queued_cmd *qc = NULL; in sata_fsl_error_intr() local
1167 qc = ata_qc_from_tag(ap, link->active_tag); in sata_fsl_error_intr()
1185 qc = ata_qc_from_tag(ap, link->active_tag); in sata_fsl_error_intr()
1195 if (qc) in sata_fsl_error_intr()
1196 qc->err_mask |= err_mask; in sata_fsl_error_intr()
1206 if (qc) in sata_fsl_error_intr()
1207 ata_link_abort(qc->dev->link); in sata_fsl_error_intr()
1218 struct ata_queued_cmd *qc; in sata_fsl_host_intr() local
1233 qc = ata_qc_from_tag(ap, tag); in sata_fsl_host_intr()
1234 if (qc && ata_is_atapi(qc->tf.protocol)) { in sata_fsl_host_intr()
1298 qc = ata_qc_from_tag(ap, ATA_TAG_INTERNAL); in sata_fsl_host_intr()
1303 if (qc) { in sata_fsl_host_intr()
1304 ata_qc_complete(qc); in sata_fsl_host_intr()