Lines Matching refs:link

256 static int ata_sff_check_ready(struct ata_link *link)  in ata_sff_check_ready()  argument
258 u8 status = link->ap->ops->sff_check_status(link->ap); in ata_sff_check_ready()
277 int ata_sff_wait_ready(struct ata_link *link, unsigned long deadline) in ata_sff_wait_ready() argument
279 return ata_wait_ready(link, deadline, ata_sff_check_ready); in ata_sff_wait_ready()
363 if (can_sleep && ap->link.device[device].class == ATA_DEV_ATAPI) in ata_dev_select()
561 struct ata_port *ap = dev->link->ap; in ata_sff_data_xfer()
616 struct ata_port *ap = dev->link->ap; in ata_sff_data_xfer32()
833 struct ata_eh_info *ehi = &dev->link->eh_info; in __atapi_pio_bytes()
915 struct ata_eh_info *ehi = &dev->link->eh_info; in atapi_pio_bytes()
1042 struct ata_link *link = qc->dev->link; in ata_sff_hsm_move() local
1043 struct ata_eh_info *ehi = &link->eh_info; in ata_sff_hsm_move()
1301 void ata_sff_queue_pio_task(struct ata_link *link, unsigned long delay) in ata_sff_queue_pio_task() argument
1303 struct ata_port *ap = link->ap; in ata_sff_queue_pio_task()
1306 (ap->sff_pio_task_link != link)); in ata_sff_queue_pio_task()
1307 ap->sff_pio_task_link = link; in ata_sff_queue_pio_task()
1342 struct ata_link *link = ap->sff_pio_task_link; in ata_sff_pio_task() local
1351 qc = ata_qc_from_tag(ap, link->active_tag); in ata_sff_pio_task()
1375 ata_sff_queue_pio_task(link, ATA_SHORT_PAUSE); in ata_sff_pio_task()
1413 struct ata_link *link = qc->dev->link; in ata_sff_qc_issue() local
1434 ata_sff_queue_pio_task(link, 0); in ata_sff_qc_issue()
1447 ata_sff_queue_pio_task(link, 0); in ata_sff_qc_issue()
1457 ata_sff_queue_pio_task(link, 0); in ata_sff_qc_issue()
1479 ata_sff_queue_pio_task(link, 0); in ata_sff_qc_issue()
1613 qc = ata_qc_from_tag(ap, ap->link.active_tag); in __ata_sff_interrupt()
1706 qc = ata_qc_from_tag(ap, ap->link.active_tag); in ata_sff_lost_interrupt()
1788 int ata_sff_prereset(struct ata_link *link, unsigned long deadline) in ata_sff_prereset() argument
1790 struct ata_eh_context *ehc = &link->eh_context; in ata_sff_prereset()
1793 rc = ata_std_prereset(link, deadline); in ata_sff_prereset()
1802 if (!ata_link_offline(link)) { in ata_sff_prereset()
1803 rc = ata_sff_wait_ready(link, deadline); in ata_sff_prereset()
1805 ata_link_warn(link, in ata_sff_prereset()
1882 struct ata_port *ap = dev->link->ap; in ata_sff_dev_classify()
1946 int ata_sff_wait_after_reset(struct ata_link *link, unsigned int devmask, in ata_sff_wait_after_reset() argument
1949 struct ata_port *ap = link->ap; in ata_sff_wait_after_reset()
1958 rc = ata_sff_wait_ready(link, deadline); in ata_sff_wait_after_reset()
1987 rc = ata_sff_wait_ready(link, deadline); in ata_sff_wait_after_reset()
2024 return ata_sff_wait_after_reset(&ap->link, devmask, deadline); in ata_bus_softreset()
2041 int ata_sff_softreset(struct ata_link *link, unsigned int *classes, in ata_sff_softreset() argument
2044 struct ata_port *ap = link->ap; in ata_sff_softreset()
2065 if (rc && (rc != -ENODEV || sata_scr_valid(link))) { in ata_sff_softreset()
2066 ata_link_err(link, "SRST failed (errno=%d)\n", rc); in ata_sff_softreset()
2071 classes[0] = ata_sff_dev_classify(&link->device[0], in ata_sff_softreset()
2074 classes[1] = ata_sff_dev_classify(&link->device[1], in ata_sff_softreset()
2097 int sata_sff_hardreset(struct ata_link *link, unsigned int *class, in sata_sff_hardreset() argument
2100 struct ata_eh_context *ehc = &link->eh_context; in sata_sff_hardreset()
2105 rc = sata_link_hardreset(link, timing, deadline, &online, in sata_sff_hardreset()
2108 *class = ata_sff_dev_classify(link->device, 1, NULL); in sata_sff_hardreset()
2127 void ata_sff_postreset(struct ata_link *link, unsigned int *classes) in ata_sff_postreset() argument
2129 struct ata_port *ap = link->ap; in ata_sff_postreset()
2131 ata_std_postreset(link, classes); in ata_sff_postreset()
2204 qc = __ata_qc_from_tag(ap, ap->link.active_tag); in ata_sff_error_handler()
2224 hardreset == sata_sff_hardreset) && !sata_scr_valid(&ap->link)) in ata_sff_error_handler()
2783 struct ata_link *link = qc->dev->link; in ata_bmdma_qc_issue() local
2812 ata_sff_queue_pio_task(link, 0); in ata_bmdma_qc_issue()
2839 struct ata_eh_info *ehi = &ap->link.eh_info; in ata_bmdma_port_intr()
2911 qc = __ata_qc_from_tag(ap, ap->link.active_tag); in ata_bmdma_error_handler()