Lines Matching refs:link

336 static int sil24_scr_read(struct ata_link *link, unsigned sc_reg, u32 *val);
337 static int sil24_scr_write(struct ata_link *link, unsigned sc_reg, u32 val);
346 static int sil24_softreset(struct ata_link *link, unsigned int *class,
348 static int sil24_hardreset(struct ata_link *link, unsigned int *class,
350 static int sil24_pmp_hardreset(struct ata_link *link, unsigned int *class,
481 void __iomem *port = sil24_port_base(dev->link->ap); in sil24_dev_config()
507 static int sil24_scr_read(struct ata_link *link, unsigned sc_reg, u32 *val) in sil24_scr_read() argument
509 void __iomem *scr_addr = sil24_port_base(link->ap) + PORT_SCONTROL; in sil24_scr_read()
518 static int sil24_scr_write(struct ata_link *link, unsigned sc_reg, u32 val) in sil24_scr_write() argument
520 void __iomem *scr_addr = sil24_port_base(link->ap) + PORT_SCONTROL; in sil24_scr_write()
597 ap->link.eh_context.i.action |= ATA_EH_RESET; in sil24_init_port()
656 static int sil24_softreset(struct ata_link *link, unsigned int *class, in sil24_softreset() argument
659 struct ata_port *ap = link->ap; in sil24_softreset()
660 int pmp = sata_srst_pmp(link); in sil24_softreset()
678 ata_tf_init(link->device, &tf); /* doesn't really matter */ in sil24_softreset()
696 ata_link_err(link, "softreset failed (%s)\n", reason); in sil24_softreset()
700 static int sil24_hardreset(struct ata_link *link, unsigned int *class, in sil24_hardreset() argument
703 struct ata_port *ap = link->ap; in sil24_hardreset()
734 sata_set_spd(link); in sil24_hardreset()
737 if (ata_link_online(link)) in sil24_hardreset()
748 rc = sata_link_debounce(link, sata_deb_timing_long, deadline); in sil24_hardreset()
755 if (ata_link_offline(link)) in sil24_hardreset()
775 ata_link_err(link, "hardreset failed (%s)\n", reason); in sil24_hardreset()
800 struct ata_link *link = qc->dev->link; in sil24_qc_defer() local
801 struct ata_port *ap = link->ap; in sil24_qc_defer()
827 if (link == ap->excl_link) { in sil24_qc_defer()
834 ap->excl_link = link; in sil24_qc_defer()
883 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, prb->fis); in sil24_qc_prep()
920 u32 *gscr = ap->link.device->gscr; in sil24_pmp_attach()
941 static int sil24_pmp_hardreset(struct ata_link *link, unsigned int *class, in sil24_pmp_hardreset() argument
946 rc = sil24_init_port(link->ap); in sil24_pmp_hardreset()
948 ata_link_err(link, "hardreset failed (port not ready)\n"); in sil24_pmp_hardreset()
952 return sata_std_hardreset(link, class, deadline); in sil24_pmp_hardreset()
983 struct ata_link *link; in sil24_error_intr() local
993 link = &ap->link; in sil24_error_intr()
994 ehi = &link->eh_info; in sil24_error_intr()
1047 link = &ap->pmp_link[pmp]; in sil24_error_intr()
1048 ehi = &link->eh_info; in sil24_error_intr()
1049 qc = ata_qc_from_tag(ap, link->active_tag); in sil24_error_intr()
1060 qc = ata_qc_from_tag(ap, link->active_tag); in sil24_error_intr()
1099 ata_link_abort(qc->dev->link); in sil24_error_intr()
1133 struct ata_eh_info *ehi = &ap->link.eh_info; in sil24_host_intr()
1144 slot_stat, ap->link.active_tag, ap->link.sactive); in sil24_host_intr()