Lines Matching refs:qc
441 static unsigned int sata_fsl_fill_sg(struct ata_queued_cmd *qc, void *cmd_desc, in sata_fsl_fill_sg() argument
465 for_each_sg(qc->sg, sg, qc->n_elem, si) { in sata_fsl_fill_sg()
474 ata_port_err(qc->ap, "s/g addr unaligned : 0x%llx\n", in sata_fsl_fill_sg()
477 ata_port_err(qc->ap, "s/g len unaligned : 0x%x\n", in sata_fsl_fill_sg()
515 static void sata_fsl_qc_prep(struct ata_queued_cmd *qc) in sata_fsl_qc_prep() argument
517 struct ata_port *ap = qc->ap; in sata_fsl_qc_prep()
521 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); in sata_fsl_qc_prep()
531 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, (u8 *) &cd->cfis); in sata_fsl_qc_prep()
536 if (qc->tf.protocol == ATA_PROT_NCQ) { in sata_fsl_qc_prep()
542 if (ata_is_atapi(qc->tf.protocol)) { in sata_fsl_qc_prep()
545 memcpy((void *)&cd->acmd, qc->cdb, qc->dev->cdb_len); in sata_fsl_qc_prep()
548 if (qc->flags & ATA_QCFLAG_DMAMAP) in sata_fsl_qc_prep()
549 num_prde = sata_fsl_fill_sg(qc, (void *)cd, in sata_fsl_qc_prep()
553 if (qc->tf.protocol == ATA_PROT_NCQ) in sata_fsl_qc_prep()
563 static unsigned int sata_fsl_qc_issue(struct ata_queued_cmd *qc) in sata_fsl_qc_issue() argument
565 struct ata_port *ap = qc->ap; in sata_fsl_qc_issue()
568 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); in sata_fsl_qc_issue()
575 iowrite32(qc->dev->link->pmp, CQPMP + hcr_base); in sata_fsl_qc_issue()
592 static bool sata_fsl_qc_fill_rtf(struct ata_queued_cmd *qc) in sata_fsl_qc_fill_rtf() argument
594 struct sata_fsl_port_priv *pp = qc->ap->private_data; in sata_fsl_qc_fill_rtf()
595 struct sata_fsl_host_priv *host_priv = qc->ap->host->private_data; in sata_fsl_qc_fill_rtf()
597 unsigned int tag = sata_fsl_tag(qc->tag, hcr_base); in sata_fsl_qc_fill_rtf()
602 ata_tf_from_fis(cd->sfis, &qc->result_tf); in sata_fsl_qc_fill_rtf()
1075 static void sata_fsl_post_internal_cmd(struct ata_queued_cmd *qc) in sata_fsl_post_internal_cmd() argument
1077 if (qc->flags & ATA_QCFLAG_FAILED) in sata_fsl_post_internal_cmd()
1078 qc->err_mask |= AC_ERR_OTHER; in sata_fsl_post_internal_cmd()
1080 if (qc->err_mask) { in sata_fsl_post_internal_cmd()
1094 struct ata_queued_cmd *qc = NULL; in sata_fsl_error_intr() local
1166 qc = ata_qc_from_tag(ap, link->active_tag); in sata_fsl_error_intr()
1184 qc = ata_qc_from_tag(ap, link->active_tag); in sata_fsl_error_intr()
1194 if (qc) in sata_fsl_error_intr()
1195 qc->err_mask |= err_mask; in sata_fsl_error_intr()
1205 if (qc) in sata_fsl_error_intr()
1206 ata_link_abort(qc->dev->link); in sata_fsl_error_intr()
1217 struct ata_queued_cmd *qc; in sata_fsl_host_intr() local
1232 qc = ata_qc_from_tag(ap, tag); in sata_fsl_host_intr()
1233 if (qc && ata_is_atapi(qc->tf.protocol)) { in sata_fsl_host_intr()
1297 qc = ata_qc_from_tag(ap, ATA_TAG_INTERNAL); in sata_fsl_host_intr()
1302 if (qc) { in sata_fsl_host_intr()
1303 ata_qc_complete(qc); in sata_fsl_host_intr()