Lines Matching refs:tf

343 void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)  in ata_sff_tf_load()  argument
346 unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; in ata_sff_tf_load()
348 if (tf->ctl != ap->last_ctl) { in ata_sff_tf_load()
350 iowrite8(tf->ctl, ioaddr->ctl_addr); in ata_sff_tf_load()
351 ap->last_ctl = tf->ctl; in ata_sff_tf_load()
355 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { in ata_sff_tf_load()
357 iowrite8(tf->hob_feature, ioaddr->feature_addr); in ata_sff_tf_load()
358 iowrite8(tf->hob_nsect, ioaddr->nsect_addr); in ata_sff_tf_load()
359 iowrite8(tf->hob_lbal, ioaddr->lbal_addr); in ata_sff_tf_load()
360 iowrite8(tf->hob_lbam, ioaddr->lbam_addr); in ata_sff_tf_load()
361 iowrite8(tf->hob_lbah, ioaddr->lbah_addr); in ata_sff_tf_load()
365 iowrite8(tf->feature, ioaddr->feature_addr); in ata_sff_tf_load()
366 iowrite8(tf->nsect, ioaddr->nsect_addr); in ata_sff_tf_load()
367 iowrite8(tf->lbal, ioaddr->lbal_addr); in ata_sff_tf_load()
368 iowrite8(tf->lbam, ioaddr->lbam_addr); in ata_sff_tf_load()
369 iowrite8(tf->lbah, ioaddr->lbah_addr); in ata_sff_tf_load()
372 if (tf->flags & ATA_TFLAG_DEVICE) in ata_sff_tf_load()
373 iowrite8(tf->device, ioaddr->device_addr); in ata_sff_tf_load()
392 void ata_sff_tf_read(struct ata_port *ap, struct ata_taskfile *tf) in ata_sff_tf_read() argument
396 tf->status = ata_sff_check_status(ap); in ata_sff_tf_read()
397 tf->error = ioread8(ioaddr->error_addr); in ata_sff_tf_read()
398 tf->nsect = ioread8(ioaddr->nsect_addr); in ata_sff_tf_read()
399 tf->lbal = ioread8(ioaddr->lbal_addr); in ata_sff_tf_read()
400 tf->lbam = ioread8(ioaddr->lbam_addr); in ata_sff_tf_read()
401 tf->lbah = ioread8(ioaddr->lbah_addr); in ata_sff_tf_read()
402 tf->device = ioread8(ioaddr->device_addr); in ata_sff_tf_read()
404 if (tf->flags & ATA_TFLAG_LBA48) { in ata_sff_tf_read()
406 iowrite8(tf->ctl | ATA_HOB, ioaddr->ctl_addr); in ata_sff_tf_read()
407 tf->hob_feature = ioread8(ioaddr->error_addr); in ata_sff_tf_read()
408 tf->hob_nsect = ioread8(ioaddr->nsect_addr); in ata_sff_tf_read()
409 tf->hob_lbal = ioread8(ioaddr->lbal_addr); in ata_sff_tf_read()
410 tf->hob_lbam = ioread8(ioaddr->lbam_addr); in ata_sff_tf_read()
411 tf->hob_lbah = ioread8(ioaddr->lbah_addr); in ata_sff_tf_read()
412 iowrite8(tf->ctl, ioaddr->ctl_addr); in ata_sff_tf_read()
413 ap->last_ctl = tf->ctl; in ata_sff_tf_read()
431 void ata_sff_exec_command(struct ata_port *ap, const struct ata_taskfile *tf) in ata_sff_exec_command() argument
433 iowrite8(tf->command, ap->ioaddr.command_addr); in ata_sff_exec_command()
452 const struct ata_taskfile *tf, in ata_tf_to_host() argument
455 trace_ata_tf_load(ap, tf); in ata_tf_to_host()
456 ap->ops->sff_tf_load(ap, tf); in ata_tf_to_host()
457 trace_ata_exec_command(ap, tf, tag); in ata_tf_to_host()
458 ap->ops->sff_exec_command(ap, tf); in ata_tf_to_host()
581 bool do_write = (qc->tf.flags & ATA_TFLAG_WRITE); in ata_pio_xfer()
661 if (is_multi_taskfile(&qc->tf)) { in ata_pio_sectors()
698 switch (qc->tf.protocol) { in atapi_send_cdb()
709 trace_ata_bmdma_start(ap, &qc->tf, qc->tag); in atapi_send_cdb()
731 int rw = (qc->tf.flags & ATA_TFLAG_WRITE) ? WRITE : READ; in __atapi_pio_bytes()
804 int i_write, do_write = (qc->tf.flags & ATA_TFLAG_WRITE) ? 1 : 0; in atapi_pio_bytes()
855 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_hsm_ok_in_wq()
859 if (qc->tf.protocol == ATA_PROT_PIO && in ata_hsm_ok_in_wq()
860 (qc->tf.flags & ATA_TFLAG_WRITE)) in ata_hsm_ok_in_wq()
863 if (ata_is_atapi(qc->tf.protocol) && in ata_hsm_ok_in_wq()
942 poll_next = (qc->tf.flags & ATA_TFLAG_POLLING); in ata_sff_hsm_move()
983 if (qc->tf.protocol == ATA_PROT_PIO) { in ata_sff_hsm_move()
1005 if (qc->tf.protocol == ATAPI_PROT_PIO) { in ata_sff_hsm_move()
1082 if (!(qc->tf.flags & ATA_TFLAG_WRITE)) { in ata_sff_hsm_move()
1115 (!(qc->tf.flags & ATA_TFLAG_WRITE))) { in ata_sff_hsm_move()
1290 qc->tf.flags |= ATA_TFLAG_POLLING; in ata_sff_qc_issue()
1296 switch (qc->tf.protocol) { in ata_sff_qc_issue()
1298 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_sff_qc_issue()
1301 ata_tf_to_host(ap, &qc->tf, qc->tag); in ata_sff_qc_issue()
1304 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_sff_qc_issue()
1310 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_sff_qc_issue()
1313 ata_tf_to_host(ap, &qc->tf, qc->tag); in ata_sff_qc_issue()
1315 if (qc->tf.flags & ATA_TFLAG_WRITE) { in ata_sff_qc_issue()
1327 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_sff_qc_issue()
1340 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_sff_qc_issue()
1343 ata_tf_to_host(ap, &qc->tf, qc->tag); in ata_sff_qc_issue()
1349 (qc->tf.flags & ATA_TFLAG_POLLING)) in ata_sff_qc_issue()
1480 if (!(qc->tf.flags & ATA_TFLAG_POLLING)) in __ata_sff_interrupt()
1573 if (!qc || qc->tf.flags & ATA_TFLAG_POLLING) in ata_sff_lost_interrupt()
1749 struct ata_taskfile tf; in ata_sff_dev_classify() local
1755 memset(&tf, 0, sizeof(tf)); in ata_sff_dev_classify()
1757 ap->ops->sff_tf_read(ap, &tf); in ata_sff_dev_classify()
1758 err = tf.error; in ata_sff_dev_classify()
1774 class = ata_port_classify(ap, &tf); in ata_sff_dev_classify()
2653 if (!ata_is_dma(qc->tf.protocol)) in ata_bmdma_qc_issue()
2660 switch (qc->tf.protocol) { in ata_bmdma_qc_issue()
2662 WARN_ON_ONCE(qc->tf.flags & ATA_TFLAG_POLLING); in ata_bmdma_qc_issue()
2664 trace_ata_tf_load(ap, &qc->tf); in ata_bmdma_qc_issue()
2665 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */ in ata_bmdma_qc_issue()
2666 trace_ata_bmdma_setup(ap, &qc->tf, qc->tag); in ata_bmdma_qc_issue()
2668 trace_ata_bmdma_start(ap, &qc->tf, qc->tag); in ata_bmdma_qc_issue()
2674 WARN_ON_ONCE(qc->tf.flags & ATA_TFLAG_POLLING); in ata_bmdma_qc_issue()
2676 trace_ata_tf_load(ap, &qc->tf); in ata_bmdma_qc_issue()
2677 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */ in ata_bmdma_qc_issue()
2678 trace_ata_bmdma_setup(ap, &qc->tf, qc->tag); in ata_bmdma_qc_issue()
2716 if (ap->hsm_task_state == HSM_ST_LAST && ata_is_dma(qc->tf.protocol)) { in ata_bmdma_port_intr()
2726 trace_ata_bmdma_stop(ap, &qc->tf, qc->tag); in ata_bmdma_port_intr()
2739 if (unlikely(qc->err_mask) && ata_is_dma(qc->tf.protocol)) in ata_bmdma_port_intr()
2791 if (qc && ata_is_dma(qc->tf.protocol)) { in ata_bmdma_error_handler()
2807 trace_ata_bmdma_stop(ap, &qc->tf, qc->tag); in ata_bmdma_error_handler()
2839 if (ata_is_dma(qc->tf.protocol)) { in ata_bmdma_post_internal_cmd()
2841 trace_ata_bmdma_stop(ap, &qc->tf, qc->tag); in ata_bmdma_post_internal_cmd()
2880 unsigned int rw = (qc->tf.flags & ATA_TFLAG_WRITE); in ata_bmdma_setup()
2895 ap->ops->sff_exec_command(ap, &qc->tf); in ata_bmdma_setup()