• Home
  • Raw
  • Download

Lines Matching refs:qc

338 static int sil24_qc_defer(struct ata_queued_cmd *qc);
339 static void sil24_qc_prep(struct ata_queued_cmd *qc);
340 static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc);
341 static bool sil24_qc_fill_rtf(struct ata_queued_cmd *qc);
353 static void sil24_post_internal_cmd(struct ata_queued_cmd *qc);
778 static inline void sil24_fill_sg(struct ata_queued_cmd *qc, in sil24_fill_sg() argument
785 for_each_sg(qc->sg, sg, qc->n_elem, si) { in sil24_fill_sg()
797 static int sil24_qc_defer(struct ata_queued_cmd *qc) in sil24_qc_defer() argument
799 struct ata_link *link = qc->dev->link; in sil24_qc_defer()
801 u8 prot = qc->tf.protocol; in sil24_qc_defer()
823 (qc->flags & ATA_QCFLAG_RESULT_TF)); in sil24_qc_defer()
829 qc->flags |= ATA_QCFLAG_CLEAR_EXCL; in sil24_qc_defer()
836 qc->flags |= ATA_QCFLAG_CLEAR_EXCL; in sil24_qc_defer()
839 return ata_std_qc_defer(qc); in sil24_qc_defer()
842 static void sil24_qc_prep(struct ata_queued_cmd *qc) in sil24_qc_prep() argument
844 struct ata_port *ap = qc->ap; in sil24_qc_prep()
851 cb = &pp->cmd_block[sil24_tag(qc->tag)]; in sil24_qc_prep()
853 if (!ata_is_atapi(qc->tf.protocol)) { in sil24_qc_prep()
856 if (ata_is_data(qc->tf.protocol)) { in sil24_qc_prep()
859 if (ata_is_ncq(qc->tf.protocol)) in sil24_qc_prep()
861 if (qc->tf.flags & ATA_TFLAG_WRITE) in sil24_qc_prep()
871 memcpy(cb->atapi.cdb, qc->cdb, qc->dev->cdb_len); in sil24_qc_prep()
873 if (ata_is_data(qc->tf.protocol)) { in sil24_qc_prep()
874 if (qc->tf.flags & ATA_TFLAG_WRITE) in sil24_qc_prep()
882 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, prb->fis); in sil24_qc_prep()
884 if (qc->flags & ATA_QCFLAG_DMAMAP) in sil24_qc_prep()
885 sil24_fill_sg(qc, sge); in sil24_qc_prep()
888 static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc) in sil24_qc_issue() argument
890 struct ata_port *ap = qc->ap; in sil24_qc_issue()
893 unsigned int tag = sil24_tag(qc->tag); in sil24_qc_issue()
911 static bool sil24_qc_fill_rtf(struct ata_queued_cmd *qc) in sil24_qc_fill_rtf() argument
913 sil24_read_tf(qc->ap, qc->tag, &qc->result_tf); in sil24_qc_fill_rtf()
981 struct ata_queued_cmd *qc = NULL; in sil24_error_intr() local
1048 qc = ata_qc_from_tag(ap, link->active_tag); in sil24_error_intr()
1059 qc = ata_qc_from_tag(ap, link->active_tag); in sil24_error_intr()
1081 if (qc) in sil24_error_intr()
1082 qc->err_mask |= err_mask; in sil24_error_intr()
1097 if (qc) in sil24_error_intr()
1098 ata_link_abort(qc->dev->link); in sil24_error_intr()
1190 static void sil24_post_internal_cmd(struct ata_queued_cmd *qc) in sil24_post_internal_cmd() argument
1192 struct ata_port *ap = qc->ap; in sil24_post_internal_cmd()
1195 if ((qc->flags & ATA_QCFLAG_FAILED) && sil24_init_port(ap)) in sil24_post_internal_cmd()