Lines Matching refs:tf

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