Lines Matching refs:qc

103 static enum ata_completion_errors qs_qc_prep(struct ata_queued_cmd *qc);
104 static unsigned int qs_qc_issue(struct ata_queued_cmd *qc);
105 static int qs_check_atapi_dma(struct ata_queued_cmd *qc);
166 static int qs_check_atapi_dma(struct ata_queued_cmd *qc) in qs_check_atapi_dma() argument
236 static unsigned int qs_fill_sg(struct ata_queued_cmd *qc) in qs_fill_sg() argument
239 struct ata_port *ap = qc->ap; in qs_fill_sg()
244 for_each_sg(qc->sg, sg, qc->n_elem, si) { in qs_fill_sg()
263 static enum ata_completion_errors qs_qc_prep(struct ata_queued_cmd *qc) in qs_qc_prep() argument
265 struct qs_port_priv *pp = qc->ap->private_data; in qs_qc_prep()
273 qs_enter_reg_mode(qc->ap); in qs_qc_prep()
274 if (qc->tf.protocol != ATA_PROT_DMA) in qs_qc_prep()
277 nelem = qs_fill_sg(qc); in qs_qc_prep()
279 if ((qc->tf.flags & ATA_TFLAG_WRITE)) in qs_qc_prep()
281 if ((qc->tf.flags & ATA_TFLAG_LBA48)) in qs_qc_prep()
287 *(__le32 *)(&buf[ 4]) = cpu_to_le32(qc->nbytes); in qs_qc_prep()
297 ata_tf_to_fis(&qc->tf, 0, 1, &buf[32]); in qs_qc_prep()
302 static inline void qs_packet_start(struct ata_queued_cmd *qc) in qs_packet_start() argument
304 struct ata_port *ap = qc->ap; in qs_packet_start()
315 static unsigned int qs_qc_issue(struct ata_queued_cmd *qc) in qs_qc_issue() argument
317 struct qs_port_priv *pp = qc->ap->private_data; in qs_qc_issue()
319 switch (qc->tf.protocol) { in qs_qc_issue()
322 qs_packet_start(qc); in qs_qc_issue()
334 return ata_sff_qc_issue(qc); in qs_qc_issue()
337 static void qs_do_or_die(struct ata_queued_cmd *qc, u8 status) in qs_do_or_die() argument
339 qc->err_mask |= ac_err_mask(status); in qs_do_or_die()
341 if (!qc->err_mask) { in qs_do_or_die()
342 ata_qc_complete(qc); in qs_do_or_die()
344 struct ata_port *ap = qc->ap; in qs_do_or_die()
350 if (qc->err_mask == AC_ERR_DEV) in qs_do_or_die()
375 struct ata_queued_cmd *qc; in qs_intr_pkt() local
382 qc = ata_qc_from_tag(ap, ap->link.active_tag); in qs_intr_pkt()
383 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) { in qs_intr_pkt()
387 qs_enter_reg_mode(qc->ap); in qs_intr_pkt()
388 qs_do_or_die(qc, sDST); in qs_intr_pkt()
406 struct ata_queued_cmd *qc; in qs_intr_mmio() local
408 qc = ata_qc_from_tag(ap, ap->link.active_tag); in qs_intr_mmio()
409 if (!qc) { in qs_intr_mmio()
426 if (!(qc->tf.flags & ATA_TFLAG_POLLING)) in qs_intr_mmio()
427 handled |= ata_sff_port_intr(ap, qc); in qs_intr_mmio()