Lines Matching +full:llp +full:- +full:based
11 * Based on versions provided by AMCC and Synopsys which are:
15 * SPDX-License-Identifier: GPL-2.0+
18 * SATA support based on the chip canyonlands.
20 * 04-17-2009
29 #include <linux/dma-direction.h>
52 struct dmareg llp; member
165 (ap)->private_data
305 ap.print_id = -1; in init_sata()
311 link->ap = ≈ in init_sata()
312 link->pmp = 0; in init_sata()
313 link->active_tag = ATA_TAG_POISON; in init_sata()
314 link->hw_sata_spd_limit = 0; in init_sata()
326 host.ports[0]->ioaddr.cmd_addr = base; in init_sata()
327 host.ports[0]->ioaddr.scr_addr = base + SATA_DWC_SCR_OFFSET; in init_sata()
332 host.ports[0]->ioaddr.cmd_addr = (void *)base_addr + 0x00; in init_sata()
333 host.ports[0]->ioaddr.data_addr = (void *)base_addr + 0x00; in init_sata()
335 host.ports[0]->ioaddr.error_addr = (void *)base_addr + 0x04; in init_sata()
336 host.ports[0]->ioaddr.feature_addr = (void *)base_addr + 0x04; in init_sata()
338 host.ports[0]->ioaddr.nsect_addr = (void *)base_addr + 0x08; in init_sata()
340 host.ports[0]->ioaddr.lbal_addr = (void *)base_addr + 0x0c; in init_sata()
341 host.ports[0]->ioaddr.lbam_addr = (void *)base_addr + 0x10; in init_sata()
342 host.ports[0]->ioaddr.lbah_addr = (void *)base_addr + 0x14; in init_sata()
344 host.ports[0]->ioaddr.device_addr = (void *)base_addr + 0x18; in init_sata()
345 host.ports[0]->ioaddr.command_addr = (void *)base_addr + 0x1c; in init_sata()
346 host.ports[0]->ioaddr.status_addr = (void *)base_addr + 0x1c; in init_sata()
348 host.ports[0]->ioaddr.altstatus_addr = (void *)base_addr + 0x20; in init_sata()
349 host.ports[0]->ioaddr.ctl_addr = (void *)base_addr + 0x20; in init_sata()
395 out_le32(&(sata_dma_regs->interrupt_mask.error.low), in init_sata()
398 out_le32(&(sata_dma_regs->interrupt_mask.tfr.low), in init_sata()
402 out_le32(&(sata_dma_regs->dma_cfg.low), DMA_DI); in init_sata()
404 out_le32(&hsdev.sata_dwc_regs->intmr, in init_sata()
411 out_le32(&hsdev.sata_dwc_regs->errmr, SATA_DWC_SERROR_ERR_BITS); in init_sata()
435 val = readb(ap->ioaddr.altstatus_addr); in ata_check_altstatus()
443 struct ata_ioports *ioaddr = &ap->ioaddr; in sata_dwc_softreset()
445 in_le32((void *)ap->ioaddr.scr_addr + (SCR_ERROR * 4)); in sata_dwc_softreset()
447 writeb(0x55, ioaddr->nsect_addr); in sata_dwc_softreset()
448 writeb(0xaa, ioaddr->lbal_addr); in sata_dwc_softreset()
449 writeb(0xaa, ioaddr->nsect_addr); in sata_dwc_softreset()
450 writeb(0x55, ioaddr->lbal_addr); in sata_dwc_softreset()
451 writeb(0x55, ioaddr->nsect_addr); in sata_dwc_softreset()
452 writeb(0xaa, ioaddr->lbal_addr); in sata_dwc_softreset()
454 nsect = readb(ioaddr->nsect_addr); in sata_dwc_softreset()
455 lbal = readb(ioaddr->lbal_addr); in sata_dwc_softreset()
466 writeb(tmp, ioaddr->device_addr); in sata_dwc_softreset()
467 writeb(ap->ctl, ioaddr->ctl_addr); in sata_dwc_softreset()
471 writeb(ap->ctl | ATA_SRST, ioaddr->ctl_addr); in sata_dwc_softreset()
474 writeb(ap->ctl, ioaddr->ctl_addr); in sata_dwc_softreset()
493 writeb(tmp, ioaddr->device_addr); in sata_dwc_softreset()
495 nsect = readb(ioaddr->nsect_addr); in sata_dwc_softreset()
496 lbal = readb(ioaddr->lbal_addr); in sata_dwc_softreset()
504 val = readb(ap->ioaddr.status_addr); in ata_check_status()
513 return -1; in ata_id_has_hipm()
523 return -1; in ata_id_has_dipm()
569 rc = ata_dev_read_id(ata_dev, &ata_dev->class, in scan_sata()
570 ATA_READID_POSTRESET,ata_dev->id); in scan_sata()
579 if (ata_id_is_sata(ata_dev->id)) in scan_sata()
582 id = ata_dev->id; in scan_sata()
584 ata_dev->flags &= ~ATA_DFLAG_CFG_MASK; in scan_sata()
585 ata_dev->max_sectors = 0; in scan_sata()
586 ata_dev->cdb_len = 0; in scan_sata()
587 ata_dev->n_sectors = 0; in scan_sata()
588 ata_dev->cylinders = 0; in scan_sata()
589 ata_dev->heads = 0; in scan_sata()
590 ata_dev->sectors = 0; in scan_sata()
603 pio_mask = (2 << mode) - 1; in scan_sata()
625 if (ata_dev->class == ATA_DEV_ATA) { in scan_sata()
637 ata_dev->n_sectors = ata_id_n_sectors((u16*)id); in scan_sata()
639 if (ata_dev->id[59] & 0x100) in scan_sata()
640 ata_dev->multi_count = ata_dev->id[59] & 0xff; in scan_sata()
645 ata_dev->flags |= ATA_DFLAG_LBA; in scan_sata()
647 ata_dev->flags |= ATA_DFLAG_LBA48; in scan_sata()
649 if (ata_dev->n_sectors >= (1UL << 28) && in scan_sata()
651 ata_dev->flags |= ATA_DFLAG_FLUSH_EXT; in scan_sata()
653 if (!ata_id_has_ncq(ata_dev->id)) in scan_sata()
656 if (ata_dev->horkage & ATA_HORKAGE_NONCQ) in scan_sata()
660 ata_dev->flags |= ATA_DFLAG_NCQ; in scan_sata()
662 ata_dev->cdb_len = 16; in scan_sata()
664 ata_dev->max_sectors = ATA_MAX_SECTORS; in scan_sata()
665 if (ata_dev->flags & ATA_DFLAG_LBA48) in scan_sata()
666 ata_dev->max_sectors = ATA_MAX_SECTORS_LBA48; in scan_sata()
668 if (!(ata_dev->horkage & ATA_HORKAGE_IPM)) { in scan_sata()
669 if (ata_id_has_hipm(ata_dev->id)) in scan_sata()
670 ata_dev->flags |= ATA_DFLAG_HIPM; in scan_sata()
671 if (ata_id_has_dipm(ata_dev->id)) in scan_sata()
672 ata_dev->flags |= ATA_DFLAG_DIPM; in scan_sata()
675 if ((ap.cbl == ATA_CBL_SATA) && (!ata_id_is_sata(ata_dev->id))) { in scan_sata()
676 ata_dev->udma_mask &= ATA_UDMA5; in scan_sata()
677 ata_dev->max_sectors = ATA_MAX_SECTORS; in scan_sata()
680 if (ata_dev->horkage & ATA_HORKAGE_DIAGNOSTIC) { in scan_sata()
689 ata_id_c_string(ata_dev->id, in scan_sata()
692 ata_id_c_string(ata_dev->id, in scan_sata()
695 ata_id_c_string(ata_dev->id, in scan_sata()
699 sata_dev_desc[dev].lba = (u32) ata_dev->n_sectors; in scan_sata()
702 if (ata_dev->id[83] & (1 << 10)) { in scan_sata()
720 max--; in ata_busy_wait()
745 ata_dev_select(ap, dev->devno, 1, 1); in ata_dev_read_id()
749 ap->print_id = 1; in ata_dev_read_id()
750 ap->flags &= ~ATA_FLAG_DISABLED; in ata_dev_read_id()
751 tf.ctl = ap->ctl; in ata_dev_read_id()
774 return -ENOENT; in ata_dev_read_id()
798 return -ENOENT; in ata_dev_read_id()
800 rc = -EIO; in ata_dev_read_id()
816 rc = -EINVAL; in ata_dev_read_id()
829 * Drive powered-up in standby mode, and requires a specific in ata_dev_read_id()
830 * SET_FEATURES spin-up subcommand before it will accept in ata_dev_read_id()
835 rc = -EIO; in ata_dev_read_id()
849 * The exact sequence expected by certain pre-ATA4 drives is: in ata_dev_read_id()
862 rc = -EIO; in ata_dev_read_id()
867 /* current CHS translation info (id[53-58]) might be in ata_dev_read_id()
911 writeb(tmp, ap->ioaddr.device_addr); in ata_std_dev_select()
913 readb(ap->ioaddr.altstatus_addr); in ata_std_dev_select()
932 return (i < timeout_msec) ? 0 : -1; in waiting_for_reg_state()
937 qc->dma_dir = DMA_NONE; in ata_qc_reinit()
938 qc->flags = 0; in ata_qc_reinit()
939 qc->nbytes = qc->extrabytes = qc->curbytes = 0; in ata_qc_reinit()
940 qc->n_elem = 0; in ata_qc_reinit()
941 qc->err_mask = 0; in ata_qc_reinit()
942 qc->sect_size = ATA_SECT_SIZE; in ata_qc_reinit()
943 qc->nbytes = ATA_SECT_SIZE * temp_n_block; in ata_qc_reinit()
945 memset(&qc->tf, 0, sizeof(qc->tf)); in ata_qc_reinit()
946 qc->tf.ctl = 0; in ata_qc_reinit()
947 qc->tf.device = ATA_DEVICE_OBS; in ata_qc_reinit()
949 qc->result_tf.command = ATA_DRDY; in ata_qc_reinit()
950 qc->result_tf.feature = 0; in ata_qc_reinit()
957 return &ap->qcmd[tag]; in __ata_qc_from_tag()
964 ap->pflags |= ATA_PFLAG_FROZEN; in __ata_port_freeze()
978 struct ata_link *link = dev->link; in ata_exec_internal()
995 if (ap->pflags & ATA_PFLAG_FROZEN) in ata_exec_internal()
1000 if (test_and_set_bit(tag, &ap->qc_allocated)) { in ata_exec_internal()
1006 qc->tag = tag; in ata_exec_internal()
1007 qc->ap = ap; in ata_exec_internal()
1008 qc->dev = dev; in ata_exec_internal()
1012 preempted_tag = link->active_tag; in ata_exec_internal()
1013 preempted_sactive = link->sactive; in ata_exec_internal()
1014 preempted_qc_active = ap->qc_active; in ata_exec_internal()
1015 preempted_nr_active_links = ap->nr_active_links; in ata_exec_internal()
1016 link->active_tag = ATA_TAG_POISON; in ata_exec_internal()
1017 link->sactive = 0; in ata_exec_internal()
1018 ap->qc_active = 0; in ata_exec_internal()
1019 ap->nr_active_links = 0; in ata_exec_internal()
1021 qc->tf = *tf; in ata_exec_internal()
1023 memcpy(qc->cdb, cdb, ATAPI_CDB_LEN); in ata_exec_internal()
1024 qc->flags |= ATA_QCFLAG_RESULT_TF; in ata_exec_internal()
1025 qc->dma_dir = dma_dir; in ata_exec_internal()
1026 qc->private_data = 0; in ata_exec_internal()
1037 qc->err_mask |= AC_ERR_OTHER; in ata_exec_internal()
1038 return qc->err_mask; in ata_exec_internal()
1041 if (waiting_for_reg_state(ap->ioaddr.altstatus_addr, 1000, 0x8)) { in ata_exec_internal()
1045 status = readb(ap->ioaddr.altstatus_addr); in ata_exec_internal()
1047 errorStatus = readb(ap->ioaddr.feature_addr); in ata_exec_internal()
1049 qc->tf.command == ATA_CMD_PIO_READ_EXT){ in ata_exec_internal()
1052 qc->err_mask |= AC_ERR_OTHER; in ata_exec_internal()
1053 return qc->err_mask; in ata_exec_internal()
1056 qc->err_mask |= AC_ERR_OTHER; in ata_exec_internal()
1057 return qc->err_mask; in ata_exec_internal()
1063 qc->err_mask |= AC_ERR_OTHER; in ata_exec_internal()
1064 return qc->err_mask; in ata_exec_internal()
1070 if (qc->flags & ATA_QCFLAG_ACTIVE) { in ata_exec_internal()
1071 qc->err_mask |= AC_ERR_TIMEOUT; in ata_exec_internal()
1076 if (qc->flags & ATA_QCFLAG_FAILED) { in ata_exec_internal()
1077 if (qc->result_tf.command & (ATA_ERR | ATA_DF)) in ata_exec_internal()
1078 qc->err_mask |= AC_ERR_DEV; in ata_exec_internal()
1080 if (!qc->err_mask) in ata_exec_internal()
1081 qc->err_mask |= AC_ERR_OTHER; in ata_exec_internal()
1083 if (qc->err_mask & ~AC_ERR_OTHER) in ata_exec_internal()
1084 qc->err_mask &= ~AC_ERR_OTHER; in ata_exec_internal()
1087 *tf = qc->result_tf; in ata_exec_internal()
1088 err_mask = qc->err_mask; in ata_exec_internal()
1090 link->active_tag = preempted_tag; in ata_exec_internal()
1091 link->sactive = preempted_sactive; in ata_exec_internal()
1092 ap->qc_active = preempted_qc_active; in ata_exec_internal()
1093 ap->nr_active_links = preempted_nr_active_links; in ata_exec_internal()
1095 if (ap->flags & ATA_FLAG_DISABLED) { in ata_exec_internal()
1097 ap->flags &= ~ATA_FLAG_DISABLED; in ata_exec_internal()
1105 struct ata_port *ap = qc->ap; in ata_qc_issue()
1106 struct ata_link *link = qc->dev->link; in ata_qc_issue()
1107 u8 prot = qc->tf.protocol; in ata_qc_issue()
1110 if (!link->sactive) in ata_qc_issue()
1111 ap->nr_active_links++; in ata_qc_issue()
1112 link->sactive |= 1 << qc->tag; in ata_qc_issue()
1114 ap->nr_active_links++; in ata_qc_issue()
1115 link->active_tag = qc->tag; in ata_qc_issue()
1118 qc->flags |= ATA_QCFLAG_ACTIVE; in ata_qc_issue()
1119 ap->qc_active |= 1 << qc->tag; in ata_qc_issue()
1121 if (qc->dev->flags & ATA_DFLAG_SLEEPING) { in ata_qc_issue()
1126 qc->err_mask |= ata_qc_issue_prot(qc); in ata_qc_issue()
1127 if (qc->err_mask) in ata_qc_issue()
1137 struct ata_port *ap = qc->ap; in ata_qc_issue_prot()
1139 if (ap->flags & ATA_FLAG_PIO_POLLING) { in ata_qc_issue_prot()
1140 switch (qc->tf.protocol) { in ata_qc_issue_prot()
1145 qc->tf.flags |= ATA_TFLAG_POLLING; in ata_qc_issue_prot()
1152 ata_dev_select(ap, qc->dev->devno, 1, 0); in ata_qc_issue_prot()
1154 switch (qc->tf.protocol) { in ata_qc_issue_prot()
1156 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_qc_issue_prot()
1157 qc->tf.ctl |= ATA_NIEN; in ata_qc_issue_prot()
1159 ata_tf_to_host(ap, &qc->tf); in ata_qc_issue_prot()
1161 ap->hsm_task_state = HSM_ST; in ata_qc_issue_prot()
1163 if (qc->tf.flags & ATA_TFLAG_POLLING) in ata_qc_issue_prot()
1185 struct ata_ioports *ioaddr = &ap->ioaddr; in ata_tf_load()
1186 unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; in ata_tf_load()
1188 if (tf->ctl != ap->last_ctl) { in ata_tf_load()
1189 if (ioaddr->ctl_addr) in ata_tf_load()
1190 writeb(tf->ctl, ioaddr->ctl_addr); in ata_tf_load()
1191 ap->last_ctl = tf->ctl; in ata_tf_load()
1195 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { in ata_tf_load()
1196 writeb(tf->hob_feature, ioaddr->feature_addr); in ata_tf_load()
1197 writeb(tf->hob_nsect, ioaddr->nsect_addr); in ata_tf_load()
1198 writeb(tf->hob_lbal, ioaddr->lbal_addr); in ata_tf_load()
1199 writeb(tf->hob_lbam, ioaddr->lbam_addr); in ata_tf_load()
1200 writeb(tf->hob_lbah, ioaddr->lbah_addr); in ata_tf_load()
1204 writeb(tf->feature, ioaddr->feature_addr); in ata_tf_load()
1205 writeb(tf->nsect, ioaddr->nsect_addr); in ata_tf_load()
1206 writeb(tf->lbal, ioaddr->lbal_addr); in ata_tf_load()
1207 writeb(tf->lbam, ioaddr->lbam_addr); in ata_tf_load()
1208 writeb(tf->lbah, ioaddr->lbah_addr); in ata_tf_load()
1211 if (tf->flags & ATA_TFLAG_DEVICE) in ata_tf_load()
1212 writeb(tf->device, ioaddr->device_addr); in ata_tf_load()
1220 writeb(tf->command, ap->ioaddr.command_addr); in ata_exec_command()
1222 readb(ap->ioaddr.altstatus_addr); in ata_exec_command()
1230 ap->port_task_data = data; in ata_pio_queue_task()
1253 struct ata_queued_cmd *qc = ap->port_task_data; in ata_pio_task()
1261 * a chk-status or two. If not, the drive is probably seeking in ata_pio_task()
1263 * chk-status again. If still busy, queue delayed work. in ata_pio_task()
1290 switch (ap->hsm_task_state) { in ata_hsm_move()
1292 poll_next = (qc->tf.flags & ATA_TFLAG_POLLING); in ata_hsm_move()
1296 qc->err_mask |= AC_ERR_DEV; in ata_hsm_move()
1298 qc->err_mask |= AC_ERR_HSM; in ata_hsm_move()
1300 ap->hsm_task_state = HSM_ST_ERR; in ata_hsm_move()
1311 if (!(qc->dev->horkage & ATA_HORKAGE_STUCK_ERR)) { in ata_hsm_move()
1314 qc->err_mask |= AC_ERR_HSM; in ata_hsm_move()
1315 ap->hsm_task_state = HSM_ST_ERR; in ata_hsm_move()
1320 if (qc->tf.protocol == ATA_PROT_PIO) { in ata_hsm_move()
1328 ap->hsm_task_state = HSM_ST; in ata_hsm_move()
1338 qc->err_mask |= AC_ERR_DEV; in ata_hsm_move()
1344 qc->err_mask |= AC_ERR_HSM | AC_ERR_NODEV_HINT; in ata_hsm_move()
1347 ap->hsm_task_state = HSM_ST_ERR; in ata_hsm_move()
1361 qc->err_mask |= AC_ERR_DEV; in ata_hsm_move()
1363 if (!(qc->tf.flags & ATA_TFLAG_WRITE)) { in ata_hsm_move()
1369 qc->err_mask |= AC_ERR_HSM; in ata_hsm_move()
1375 ap->hsm_task_state = HSM_ST_ERR; in ata_hsm_move()
1380 if (ap->hsm_task_state == HSM_ST_LAST && in ata_hsm_move()
1381 (!(qc->tf.flags & ATA_TFLAG_WRITE))) { in ata_hsm_move()
1391 qc->err_mask |= __ac_err_mask(status); in ata_hsm_move()
1392 ap->hsm_task_state = HSM_ST_ERR; in ata_hsm_move()
1396 ap->hsm_task_state = HSM_ST_IDLE; in ata_hsm_move()
1404 /* make sure qc->err_mask is available to in ata_hsm_move()
1407 ap->hsm_task_state = HSM_ST_IDLE; in ata_hsm_move()
1424 qc->pdata = ap->pdata; in ata_pio_sectors()
1428 readb(qc->ap->ioaddr.altstatus_addr); in ata_pio_sectors()
1434 int do_write = (qc->tf.flags & ATA_TFLAG_WRITE); in ata_pio_sector()
1435 struct ata_port *ap = qc->ap; in ata_pio_sector()
1440 if (qc->curbytes == qc->nbytes - qc->sect_size) in ata_pio_sector()
1441 ap->hsm_task_state = HSM_ST_LAST; in ata_pio_sector()
1443 offset = qc->curbytes; in ata_pio_sector()
1445 switch (qc->tf.command) { in ata_pio_sector()
1453 buf = qc->pdata + offset; in ata_pio_sector()
1459 ata_mmio_data_xfer(qc->dev, buf, qc->sect_size, do_write); in ata_pio_sector()
1461 qc->curbytes += qc->sect_size; in ata_pio_sector()
1469 void __iomem *data_addr = ap->ioaddr.data_addr; in ata_mmio_data_xfer()
1485 unsigned char *trailing_buf = buf + buflen - 1; in ata_mmio_data_xfer()
1499 struct ata_port *ap = qc->ap; in ata_hsm_qc_complete()
1505 qc = &ap->qcmd[qc->tag]; in ata_hsm_qc_complete()
1507 if (!(qc->err_mask & AC_ERR_HSM)) { in ata_hsm_qc_complete()
1515 if (!(qc->err_mask & AC_ERR_HSM)) { in ata_hsm_qc_complete()
1525 struct ata_ioports *ioaddr = &ap->ioaddr; in ata_irq_on()
1528 ap->ctl &= ~ATA_NIEN; in ata_irq_on()
1529 ap->last_ctl = ap->ctl; in ata_irq_on()
1531 if (ioaddr->ctl_addr) in ata_irq_on()
1532 writeb(ap->ctl, ioaddr->ctl_addr); in ata_irq_on()
1541 return tag == ATA_MAX_QUEUE - 1; in ata_tag_internal()
1546 struct ata_device *dev = qc->dev; in ata_qc_complete()
1547 if (qc->err_mask) in ata_qc_complete()
1548 qc->flags |= ATA_QCFLAG_FAILED; in ata_qc_complete()
1550 if (qc->flags & ATA_QCFLAG_FAILED) { in ata_qc_complete()
1551 if (!ata_tag_internal(qc->tag)) { in ata_qc_complete()
1556 if (qc->flags & ATA_QCFLAG_RESULT_TF) in ata_qc_complete()
1559 /* Some commands need post-processing after successful in ata_qc_complete()
1562 switch (qc->tf.command) { in ata_qc_complete()
1564 if (qc->tf.feature != SETFEATURES_WC_ON && in ata_qc_complete()
1565 qc->tf.feature != SETFEATURES_WC_OFF) in ata_qc_complete()
1572 dev->flags |= ATA_DFLAG_SLEEPING; in ata_qc_complete()
1581 struct ata_port *ap = qc->ap; in fill_result_tf()
1583 qc->result_tf.flags = qc->tf.flags; in fill_result_tf()
1584 ata_tf_read(ap, &qc->result_tf); in fill_result_tf()
1589 struct ata_ioports *ioaddr = &ap->ioaddr; in ata_tf_read()
1591 tf->command = ata_check_status(ap); in ata_tf_read()
1592 tf->feature = readb(ioaddr->error_addr); in ata_tf_read()
1593 tf->nsect = readb(ioaddr->nsect_addr); in ata_tf_read()
1594 tf->lbal = readb(ioaddr->lbal_addr); in ata_tf_read()
1595 tf->lbam = readb(ioaddr->lbam_addr); in ata_tf_read()
1596 tf->lbah = readb(ioaddr->lbah_addr); in ata_tf_read()
1597 tf->device = readb(ioaddr->device_addr); in ata_tf_read()
1599 if (tf->flags & ATA_TFLAG_LBA48) { in ata_tf_read()
1600 if (ioaddr->ctl_addr) { in ata_tf_read()
1601 writeb(tf->ctl | ATA_HOB, ioaddr->ctl_addr); in ata_tf_read()
1603 tf->hob_feature = readb(ioaddr->error_addr); in ata_tf_read()
1604 tf->hob_nsect = readb(ioaddr->nsect_addr); in ata_tf_read()
1605 tf->hob_lbal = readb(ioaddr->lbal_addr); in ata_tf_read()
1606 tf->hob_lbam = readb(ioaddr->lbam_addr); in ata_tf_read()
1607 tf->hob_lbah = readb(ioaddr->lbah_addr); in ata_tf_read()
1609 writeb(tf->ctl, ioaddr->ctl_addr); in ata_tf_read()
1610 ap->last_ctl = tf->ctl; in ata_tf_read()
1619 struct ata_port *ap = qc->ap; in __ata_qc_complete()
1620 struct ata_link *link = qc->dev->link; in __ata_qc_complete()
1622 link->active_tag = ATA_TAG_POISON; in __ata_qc_complete()
1623 ap->nr_active_links--; in __ata_qc_complete()
1625 if (qc->flags & ATA_QCFLAG_CLEAR_EXCL && ap->excl_link == link) in __ata_qc_complete()
1626 ap->excl_link = NULL; in __ata_qc_complete()
1628 qc->flags &= ~ATA_QCFLAG_ACTIVE; in __ata_qc_complete()
1629 ap->qc_active &= ~(1 << qc->tag); in __ata_qc_complete()
1634 struct ata_port *ap = qc->ap; in ata_qc_free()
1636 qc->flags = 0; in ata_qc_free()
1637 tag = qc->tag; in ata_qc_free()
1639 qc->tag = ATA_TAG_POISON; in ata_qc_free()
1640 clear_bit(tag, &ap->qc_allocated); in ata_qc_free()
1688 tf.ctl = ap->ctl; in ata_dev_set_feature()
1714 tf.ctl = ap->ctl; in ata_dev_init_params()
1720 tf.device |= (heads - 1) & 0x0f; in ata_dev_init_params()
1763 blks -= SATA_MAX_READ_BLK; in sata_read()
1778 blkcnt -= blks; in sata_read()
1801 ata_dev_select(ap, dev->devno, 1, 1); in ata_dev_read_sectors()
1805 tf.ctl = ap->ctl; in ata_dev_read_sectors()
1806 ap->print_id = 1; in ata_dev_read_sectors()
1807 ap->flags &= ~ATA_FLAG_DISABLED; in ata_dev_read_sectors()
1809 ap->pdata = pdata; in ata_dev_read_sectors()
1866 return -ENOENT; in ata_dev_read_sectors()
1890 return -ENOENT; in ata_dev_read_sectors()
1938 blks -= SATA_MAX_WRITE_BLK; in sata_write()
1952 blkcnt -= blks; in sata_write()
1975 ata_dev_select(ap, dev->devno, 1, 1); in ata_dev_write_sectors()
1979 tf.ctl = ap->ctl; in ata_dev_write_sectors()
1980 ap->print_id = 1; in ata_dev_write_sectors()
1981 ap->flags &= ~ATA_FLAG_DISABLED; in ata_dev_write_sectors()
1983 ap->pdata = pdata; in ata_dev_write_sectors()
2041 return -ENOENT; in ata_dev_write_sectors()
2065 return -ENOENT; in ata_dev_write_sectors()