Lines Matching refs:tf
382 static void octeon_cf_tf_read16(struct ata_port *ap, struct ata_taskfile *tf) in octeon_cf_tf_read16() argument
389 tf->feature = blob >> 8; in octeon_cf_tf_read16()
392 tf->nsect = blob & 0xff; in octeon_cf_tf_read16()
393 tf->lbal = blob >> 8; in octeon_cf_tf_read16()
396 tf->lbam = blob & 0xff; in octeon_cf_tf_read16()
397 tf->lbah = blob >> 8; in octeon_cf_tf_read16()
400 tf->device = blob & 0xff; in octeon_cf_tf_read16()
401 tf->command = blob >> 8; in octeon_cf_tf_read16()
403 if (tf->flags & ATA_TFLAG_LBA48) { in octeon_cf_tf_read16()
405 iowrite8(tf->ctl | ATA_HOB, ap->ioaddr.ctl_addr); in octeon_cf_tf_read16()
408 tf->hob_feature = blob >> 8; in octeon_cf_tf_read16()
411 tf->hob_nsect = blob & 0xff; in octeon_cf_tf_read16()
412 tf->hob_lbal = blob >> 8; in octeon_cf_tf_read16()
415 tf->hob_lbam = blob & 0xff; in octeon_cf_tf_read16()
416 tf->hob_lbah = blob >> 8; in octeon_cf_tf_read16()
418 iowrite8(tf->ctl, ap->ioaddr.ctl_addr); in octeon_cf_tf_read16()
419 ap->last_ctl = tf->ctl; in octeon_cf_tf_read16()
467 const struct ata_taskfile *tf) in octeon_cf_tf_load16() argument
469 unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; in octeon_cf_tf_load16()
473 if (tf->ctl != ap->last_ctl) { in octeon_cf_tf_load16()
474 iowrite8(tf->ctl, ap->ioaddr.ctl_addr); in octeon_cf_tf_load16()
475 ap->last_ctl = tf->ctl; in octeon_cf_tf_load16()
478 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { in octeon_cf_tf_load16()
479 __raw_writew(tf->hob_feature << 8, base + 0xc); in octeon_cf_tf_load16()
480 __raw_writew(tf->hob_nsect | tf->hob_lbal << 8, base + 2); in octeon_cf_tf_load16()
481 __raw_writew(tf->hob_lbam | tf->hob_lbah << 8, base + 4); in octeon_cf_tf_load16()
483 tf->hob_feature, in octeon_cf_tf_load16()
484 tf->hob_nsect, in octeon_cf_tf_load16()
485 tf->hob_lbal, in octeon_cf_tf_load16()
486 tf->hob_lbam, in octeon_cf_tf_load16()
487 tf->hob_lbah); in octeon_cf_tf_load16()
490 __raw_writew(tf->feature << 8, base + 0xc); in octeon_cf_tf_load16()
491 __raw_writew(tf->nsect | tf->lbal << 8, base + 2); in octeon_cf_tf_load16()
492 __raw_writew(tf->lbam | tf->lbah << 8, base + 4); in octeon_cf_tf_load16()
494 tf->feature, in octeon_cf_tf_load16()
495 tf->nsect, in octeon_cf_tf_load16()
496 tf->lbal, in octeon_cf_tf_load16()
497 tf->lbam, in octeon_cf_tf_load16()
498 tf->lbah); in octeon_cf_tf_load16()
515 const struct ata_taskfile *tf) in octeon_cf_exec_command16() argument
521 if (tf->flags & ATA_TFLAG_DEVICE) { in octeon_cf_exec_command16()
522 VPRINTK("device 0x%X\n", tf->device); in octeon_cf_exec_command16()
523 blob = tf->device; in octeon_cf_exec_command16()
528 DPRINTK("ata%u: cmd 0x%X\n", ap->print_id, tf->command); in octeon_cf_exec_command16()
529 blob |= (tf->command << 8); in octeon_cf_exec_command16()
550 ap->ops->sff_exec_command(ap, &qc->tf); in octeon_cf_dma_setup()
588 mio_boot_dma_cfg.s.rw = ((qc->tf.flags & ATA_TFLAG_WRITE) != 0); in octeon_cf_dma_start()
631 ap->print_id, qc->tf.protocol, ap->hsm_task_state); in octeon_cf_dma_finished()
661 if (unlikely(qc->err_mask) && (qc->tf.protocol == ATA_PROT_DMA)) in octeon_cf_dma_finished()
697 if (!qc || (qc->tf.flags & ATA_TFLAG_POLLING)) in octeon_cf_interrupt()
770 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) in octeon_cf_delayed_finish()
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()