• Home
  • Raw
  • Download

Lines Matching refs:qc

293 static unsigned int octeon_cf_data_xfer8(struct ata_queued_cmd *qc,  in octeon_cf_data_xfer8()  argument
298 struct ata_port *ap = qc->dev->link->ap; in octeon_cf_data_xfer8()
332 static unsigned int octeon_cf_data_xfer16(struct ata_queued_cmd *qc, in octeon_cf_data_xfer16() argument
337 struct ata_port *ap = qc->dev->link->ap; in octeon_cf_data_xfer16()
540 static void octeon_cf_dma_setup(struct ata_queued_cmd *qc) in octeon_cf_dma_setup() argument
542 struct ata_port *ap = qc->ap; in octeon_cf_dma_setup()
548 qc->cursg = qc->sg; in octeon_cf_dma_setup()
550 ap->ops->sff_exec_command(ap, &qc->tf); in octeon_cf_dma_setup()
559 static void octeon_cf_dma_start(struct ata_queued_cmd *qc) in octeon_cf_dma_start() argument
561 struct octeon_cf_port *cf_port = qc->ap->private_data; in octeon_cf_dma_start()
566 VPRINTK("%d scatterlists\n", qc->n_elem); in octeon_cf_dma_start()
569 sg = qc->cursg; in octeon_cf_dma_start()
588 mio_boot_dma_cfg.s.rw = ((qc->tf.flags & ATA_TFLAG_WRITE) != 0); in octeon_cf_dma_start()
622 struct ata_queued_cmd *qc) in octeon_cf_dma_finished() argument
631 ap->print_id, qc->tf.protocol, ap->hsm_task_state); in octeon_cf_dma_finished()
640 qc->err_mask |= AC_ERR_HOST_BUS; in octeon_cf_dma_finished()
659 ata_sff_hsm_move(ap, qc, status, 0); in octeon_cf_dma_finished()
661 if (unlikely(qc->err_mask) && (qc->tf.protocol == ATA_PROT_DMA)) in octeon_cf_dma_finished()
685 struct ata_queued_cmd *qc; in octeon_cf_interrupt() local
695 qc = ata_qc_from_tag(ap, ap->link.active_tag); in octeon_cf_interrupt()
697 if (!qc || (qc->tf.flags & ATA_TFLAG_POLLING)) in octeon_cf_interrupt()
701 if (!sg_is_last(qc->cursg)) { in octeon_cf_interrupt()
702 qc->cursg = sg_next(qc->cursg); in octeon_cf_interrupt()
704 octeon_cf_dma_start(qc); in octeon_cf_interrupt()
731 handled |= octeon_cf_dma_finished(ap, qc); in octeon_cf_interrupt()
746 struct ata_queued_cmd *qc; in octeon_cf_delayed_finish() local
769 qc = ata_qc_from_tag(ap, ap->link.active_tag); in octeon_cf_delayed_finish()
770 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) in octeon_cf_delayed_finish()
771 octeon_cf_dma_finished(ap, qc); in octeon_cf_delayed_finish()
790 static int octeon_cf_check_atapi_dma(struct ata_queued_cmd *qc) in octeon_cf_check_atapi_dma() argument
795 static unsigned int octeon_cf_qc_issue(struct ata_queued_cmd *qc) in octeon_cf_qc_issue() argument
797 struct ata_port *ap = qc->ap; in octeon_cf_qc_issue()
799 switch (qc->tf.protocol) { in octeon_cf_qc_issue()
801 WARN_ON(qc->tf.flags & ATA_TFLAG_POLLING); in octeon_cf_qc_issue()
803 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */ in octeon_cf_qc_issue()
804 octeon_cf_dma_setup(qc); /* set up dma */ in octeon_cf_qc_issue()
805 octeon_cf_dma_start(qc); /* initiate dma */ in octeon_cf_qc_issue()
814 return ata_sff_qc_issue(qc); in octeon_cf_qc_issue()