Lines Matching refs:tf

379 static void octeon_cf_tf_read16(struct ata_port *ap, struct ata_taskfile *tf)
386 tf->error = blob >> 8;
389 tf->nsect = blob & 0xff;
390 tf->lbal = blob >> 8;
393 tf->lbam = blob & 0xff;
394 tf->lbah = blob >> 8;
397 tf->device = blob & 0xff;
398 tf->status = blob >> 8;
400 if (tf->flags & ATA_TFLAG_LBA48) {
402 iowrite8(tf->ctl | ATA_HOB, ap->ioaddr.ctl_addr);
405 tf->hob_feature = blob >> 8;
408 tf->hob_nsect = blob & 0xff;
409 tf->hob_lbal = blob >> 8;
412 tf->hob_lbam = blob & 0xff;
413 tf->hob_lbah = blob >> 8;
415 iowrite8(tf->ctl, ap->ioaddr.ctl_addr);
416 ap->last_ctl = tf->ctl;
462 const struct ata_taskfile *tf)
464 unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR;
468 if (tf->ctl != ap->last_ctl) {
469 iowrite8(tf->ctl, ap->ioaddr.ctl_addr);
470 ap->last_ctl = tf->ctl;
473 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
474 __raw_writew(tf->hob_feature << 8, base + 0xc);
475 __raw_writew(tf->hob_nsect | tf->hob_lbal << 8, base + 2);
476 __raw_writew(tf->hob_lbam | tf->hob_lbah << 8, base + 4);
479 __raw_writew(tf->feature << 8, base + 0xc);
480 __raw_writew(tf->nsect | tf->lbal << 8, base + 2);
481 __raw_writew(tf->lbam | tf->lbah << 8, base + 4);
498 const struct ata_taskfile *tf)
504 if (tf->flags & ATA_TFLAG_DEVICE)
505 blob = tf->device;
507 blob |= (tf->command << 8);
526 ap->ops->sff_exec_command(ap, &qc->tf);
561 mio_boot_dma_cfg.s.rw = ((qc->tf.flags & ATA_TFLAG_WRITE) != 0);
599 trace_ata_bmdma_stop(ap, &qc->tf, qc->tag);
628 if (unlikely(qc->err_mask) && (qc->tf.protocol == ATA_PROT_DMA))
663 if (!qc || (qc->tf.flags & ATA_TFLAG_POLLING))
670 trace_ata_bmdma_start(ap, &qc->tf, qc->tag);
736 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)))
765 switch (qc->tf.protocol) {
767 WARN_ON(qc->tf.flags & ATA_TFLAG_POLLING);
769 trace_ata_tf_load(ap, &qc->tf);
770 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */
771 trace_ata_bmdma_setup(ap, &qc->tf, qc->tag);
773 trace_ata_bmdma_start(ap, &qc->tf, qc->tag);