Lines Matching refs:ap
61 static ssize_t ahci_led_show(struct ata_port *ap, char *buf);
62 static ssize_t ahci_led_store(struct ata_port *ap, const char *buf,
64 static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state,
72 static int ahci_port_start(struct ata_port *ap);
73 static void ahci_port_stop(struct ata_port *ap);
76 static void ahci_freeze(struct ata_port *ap);
77 static void ahci_thaw(struct ata_port *ap);
78 static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep);
79 static void ahci_enable_fbs(struct ata_port *ap);
80 static void ahci_disable_fbs(struct ata_port *ap);
81 static void ahci_pmp_attach(struct ata_port *ap);
82 static void ahci_pmp_detach(struct ata_port *ap);
93 static int ahci_port_suspend(struct ata_port *ap, pm_message_t mesg);
230 struct ata_port *ap = ata_shost_to_port(shost); in ahci_show_host_caps() local
231 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_caps()
240 struct ata_port *ap = ata_shost_to_port(shost); in ahci_show_host_cap2() local
241 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_cap2()
250 struct ata_port *ap = ata_shost_to_port(shost); in ahci_show_host_version() local
251 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_version()
261 struct ata_port *ap = ata_shost_to_port(shost); in ahci_show_port_cmd() local
262 void __iomem *port_mmio = ahci_port_base(ap); in ahci_show_port_cmd()
271 struct ata_port *ap = ata_shost_to_port(shost); in ahci_read_em_buffer() local
272 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_read_em_buffer()
280 spin_lock_irqsave(ap->lock, flags); in ahci_read_em_buffer()
283 if (!(ap->flags & ATA_FLAG_EM) || em_ctl & EM_CTL_XMT || in ahci_read_em_buffer()
285 spin_unlock_irqrestore(ap->lock, flags); in ahci_read_em_buffer()
290 spin_unlock_irqrestore(ap->lock, flags); in ahci_read_em_buffer()
302 ata_port_warn(ap, in ahci_read_em_buffer()
317 spin_unlock_irqrestore(ap->lock, flags); in ahci_read_em_buffer()
327 struct ata_port *ap = ata_shost_to_port(shost); in ahci_store_em_buffer() local
328 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_store_em_buffer()
337 if (!(ap->flags & ATA_FLAG_EM) || in ahci_store_em_buffer()
342 spin_lock_irqsave(ap->lock, flags); in ahci_store_em_buffer()
346 spin_unlock_irqrestore(ap->lock, flags); in ahci_store_em_buffer()
358 spin_unlock_irqrestore(ap->lock, flags); in ahci_store_em_buffer()
367 struct ata_port *ap = ata_shost_to_port(shost); in ahci_show_em_supported() local
368 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_em_supported()
539 static unsigned ahci_scr_offset(struct ata_port *ap, unsigned int sc_reg) in ahci_scr_offset() argument
548 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_scr_offset()
558 void __iomem *port_mmio = ahci_port_base(link->ap); in ahci_scr_read()
559 int offset = ahci_scr_offset(link->ap, sc_reg); in ahci_scr_read()
570 void __iomem *port_mmio = ahci_port_base(link->ap); in ahci_scr_write()
571 int offset = ahci_scr_offset(link->ap, sc_reg); in ahci_scr_write()
580 void ahci_start_engine(struct ata_port *ap) in ahci_start_engine() argument
582 void __iomem *port_mmio = ahci_port_base(ap); in ahci_start_engine()
593 int ahci_stop_engine(struct ata_port *ap) in ahci_stop_engine() argument
595 void __iomem *port_mmio = ahci_port_base(ap); in ahci_stop_engine()
609 tmp = ata_wait_register(ap, port_mmio + PORT_CMD, in ahci_stop_engine()
618 void ahci_start_fis_rx(struct ata_port *ap) in ahci_start_fis_rx() argument
620 void __iomem *port_mmio = ahci_port_base(ap); in ahci_start_fis_rx()
621 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_fis_rx()
622 struct ahci_port_priv *pp = ap->private_data; in ahci_start_fis_rx()
646 static int ahci_stop_fis_rx(struct ata_port *ap) in ahci_stop_fis_rx() argument
648 void __iomem *port_mmio = ahci_port_base(ap); in ahci_stop_fis_rx()
657 tmp = ata_wait_register(ap, port_mmio + PORT_CMD, PORT_CMD_FIS_ON, in ahci_stop_fis_rx()
665 static void ahci_power_up(struct ata_port *ap) in ahci_power_up() argument
667 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_up()
668 void __iomem *port_mmio = ahci_port_base(ap); in ahci_power_up()
686 struct ata_port *ap = link->ap; in ahci_set_lpm() local
687 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_lpm()
688 struct ahci_port_priv *pp = ap->private_data; in ahci_set_lpm()
689 void __iomem *port_mmio = ahci_port_base(ap); in ahci_set_lpm()
714 ata_msleep(ap, 10); in ahci_set_lpm()
730 ahci_set_aggressive_devslp(ap, true); in ahci_set_lpm()
732 ahci_set_aggressive_devslp(ap, false); in ahci_set_lpm()
747 static void ahci_power_down(struct ata_port *ap) in ahci_power_down() argument
749 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_down()
750 void __iomem *port_mmio = ahci_port_base(ap); in ahci_power_down()
768 static void ahci_start_port(struct ata_port *ap) in ahci_start_port() argument
770 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_port()
771 struct ahci_port_priv *pp = ap->private_data; in ahci_start_port()
778 ahci_start_fis_rx(ap); in ahci_start_port()
782 hpriv->start_engine(ap); in ahci_start_port()
785 if (ap->flags & ATA_FLAG_EM) { in ahci_start_port()
786 ata_for_each_link(link, ap, EDGE) { in ahci_start_port()
791 rc = ap->ops->transmit_led_message(ap, in ahci_start_port()
810 if (ap->flags & ATA_FLAG_SW_ACTIVITY) in ahci_start_port()
811 ata_for_each_link(link, ap, EDGE) in ahci_start_port()
816 static int ahci_deinit_port(struct ata_port *ap, const char **emsg) in ahci_deinit_port() argument
821 rc = ahci_stop_engine(ap); in ahci_deinit_port()
828 rc = ahci_stop_fis_rx(ap); in ahci_deinit_port()
887 struct ata_port *ap = link->ap; in ahci_sw_activity() local
888 struct ahci_port_priv *pp = ap->private_data; in ahci_sw_activity()
902 struct ata_port *ap = link->ap; in ahci_sw_activity_blink() local
903 struct ahci_port_priv *pp = ap->private_data; in ahci_sw_activity_blink()
910 led_message |= ap->port_no | (link->pmp << 8); in ahci_sw_activity_blink()
916 spin_lock_irqsave(ap->lock, flags); in ahci_sw_activity_blink()
939 spin_unlock_irqrestore(ap->lock, flags); in ahci_sw_activity_blink()
940 ap->ops->transmit_led_message(ap, led_message, 4); in ahci_sw_activity_blink()
945 struct ata_port *ap = link->ap; in ahci_init_sw_activity() local
946 struct ahci_port_priv *pp = ap->private_data; in ahci_init_sw_activity()
973 static ssize_t ahci_transmit_led_message(struct ata_port *ap, u32 state, in ahci_transmit_led_message() argument
976 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_transmit_led_message()
977 struct ahci_port_priv *pp = ap->private_data; in ahci_transmit_led_message()
992 spin_lock_irqsave(ap->lock, flags); in ahci_transmit_led_message()
1000 spin_unlock_irqrestore(ap->lock, flags); in ahci_transmit_led_message()
1012 message[1] = ((state & ~EM_MSG_LED_HBA_PORT) | ap->port_no); in ahci_transmit_led_message()
1027 spin_unlock_irqrestore(ap->lock, flags); in ahci_transmit_led_message()
1031 static ssize_t ahci_led_show(struct ata_port *ap, char *buf) in ahci_led_show() argument
1033 struct ahci_port_priv *pp = ap->private_data; in ahci_led_show()
1038 ata_for_each_link(link, ap, EDGE) { in ahci_led_show()
1045 static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, in ahci_led_store() argument
1050 struct ahci_port_priv *pp = ap->private_data; in ahci_led_store()
1070 return ap->ops->transmit_led_message(ap, state, size); in ahci_led_store()
1076 struct ata_port *ap = link->ap; in ahci_activity_store() local
1077 struct ahci_port_priv *pp = ap->private_data; in ahci_activity_store()
1088 port_led_state |= (ap->port_no | (link->pmp << 8)); in ahci_activity_store()
1089 ap->ops->transmit_led_message(ap, port_led_state, 4); in ahci_activity_store()
1095 port_led_state |= (ap->port_no | (link->pmp << 8)); in ahci_activity_store()
1097 ap->ops->transmit_led_message(ap, port_led_state, 4); in ahci_activity_store()
1107 struct ata_port *ap = link->ap; in ahci_activity_show() local
1108 struct ahci_port_priv *pp = ap->private_data; in ahci_activity_show()
1117 static void ahci_port_init(struct device *dev, struct ata_port *ap, in ahci_port_init() argument
1126 rc = ahci_deinit_port(ap, &emsg); in ahci_port_init()
1153 struct ata_port *ap = host->ports[i]; in ahci_init_controller() local
1155 port_mmio = ahci_port_base(ap); in ahci_init_controller()
1156 if (ata_port_is_dummy(ap)) in ahci_init_controller()
1159 ahci_port_init(host->dev, ap, i, mmio, port_mmio); in ahci_init_controller()
1172 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data; in ahci_dev_config()
1181 unsigned int ahci_dev_classify(struct ata_port *ap) in ahci_dev_classify() argument
1183 void __iomem *port_mmio = ahci_port_base(ap); in ahci_dev_classify()
1211 int ahci_kick_engine(struct ata_port *ap) in ahci_kick_engine() argument
1213 void __iomem *port_mmio = ahci_port_base(ap); in ahci_kick_engine()
1214 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_kick_engine()
1220 rc = ahci_stop_engine(ap); in ahci_kick_engine()
1228 if (!busy && !sata_pmp_attached(ap)) { in ahci_kick_engine()
1244 tmp = ata_wait_register(ap, port_mmio + PORT_CMD, in ahci_kick_engine()
1251 hpriv->start_engine(ap); in ahci_kick_engine()
1256 static int ahci_exec_polled_cmd(struct ata_port *ap, int pmp, in ahci_exec_polled_cmd() argument
1261 struct ahci_port_priv *pp = ap->private_data; in ahci_exec_polled_cmd()
1262 void __iomem *port_mmio = ahci_port_base(ap); in ahci_exec_polled_cmd()
1274 tmp = ata_wait_register(ap, port_mmio + PORT_CMD_ISSUE, in ahci_exec_polled_cmd()
1277 ahci_kick_engine(ap); in ahci_exec_polled_cmd()
1290 struct ata_port *ap = link->ap; in ahci_do_softreset() local
1291 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_softreset()
1292 struct ahci_port_priv *pp = ap->private_data; in ahci_do_softreset()
1302 rc = ahci_kick_engine(ap); in ahci_do_softreset()
1312 ahci_disable_fbs(ap); in ahci_do_softreset()
1325 if (ahci_exec_polled_cmd(ap, pmp, &tf, 0, in ahci_do_softreset()
1333 ata_msleep(ap, 1); in ahci_do_softreset()
1337 ahci_exec_polled_cmd(ap, pmp, &tf, 0, 0, 0); in ahci_do_softreset()
1354 *class = ahci_dev_classify(ap); in ahci_do_softreset()
1358 ahci_enable_fbs(ap); in ahci_do_softreset()
1370 void __iomem *port_mmio = ahci_port_base(link->ap); in ahci_check_ready()
1390 void __iomem *port_mmio = ahci_port_base(link->ap); in ahci_bad_pmp_check_ready()
1407 struct ata_port *ap = link->ap; in ahci_pmp_retry_softreset() local
1408 void __iomem *port_mmio = ahci_port_base(ap); in ahci_pmp_retry_softreset()
1441 struct ata_port *ap = link->ap; in ahci_hardreset() local
1442 struct ahci_port_priv *pp = ap->private_data; in ahci_hardreset()
1443 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_hardreset()
1451 ahci_stop_engine(ap); in ahci_hardreset()
1461 hpriv->start_engine(ap); in ahci_hardreset()
1464 *class = ahci_dev_classify(ap); in ahci_hardreset()
1472 struct ata_port *ap = link->ap; in ahci_postreset() local
1473 void __iomem *port_mmio = ahci_port_base(ap); in ahci_postreset()
1515 struct ata_port *ap = qc->ap; in ahci_pmp_qc_defer() local
1516 struct ahci_port_priv *pp = ap->private_data; in ahci_pmp_qc_defer()
1518 if (!sata_pmp_attached(ap) || pp->fbs_enabled) in ahci_pmp_qc_defer()
1526 struct ata_port *ap = qc->ap; in ahci_qc_prep() local
1527 struct ahci_port_priv *pp = ap->private_data; in ahci_qc_prep()
1562 static void ahci_fbs_dec_intr(struct ata_port *ap) in ahci_fbs_dec_intr() argument
1564 struct ahci_port_priv *pp = ap->private_data; in ahci_fbs_dec_intr()
1565 void __iomem *port_mmio = ahci_port_base(ap); in ahci_fbs_dec_intr()
1583 dev_err(ap->host->dev, "failed to clear device error\n"); in ahci_fbs_dec_intr()
1586 static void ahci_error_intr(struct ata_port *ap, u32 irq_stat) in ahci_error_intr() argument
1588 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_intr()
1589 struct ahci_port_priv *pp = ap->private_data; in ahci_error_intr()
1590 struct ata_eh_info *host_ehi = &ap->link.eh_info; in ahci_error_intr()
1599 void __iomem *port_mmio = ahci_port_base(ap); in ahci_error_intr()
1603 if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links)) { in ahci_error_intr()
1604 link = &ap->pmp_link[pmp]; in ahci_error_intr()
1609 ata_for_each_link(link, ap, EDGE) in ahci_error_intr()
1614 link = &ap->link; in ahci_error_intr()
1616 active_qc = ata_qc_from_tag(ap, link->active_tag); in ahci_error_intr()
1624 ahci_scr_read(&ap->link, SCR_ERROR, &serror); in ahci_error_intr()
1625 ahci_scr_write(&ap->link, SCR_ERROR, serror); in ahci_error_intr()
1656 if (sata_pmp_attached(ap) && (irq_stat & PORT_IRQ_BAD_PMP)) { in ahci_error_intr()
1689 ata_port_freeze(ap); in ahci_error_intr()
1692 ahci_fbs_dec_intr(ap); in ahci_error_intr()
1694 ata_port_abort(ap); in ahci_error_intr()
1697 static void ahci_handle_port_interrupt(struct ata_port *ap, in ahci_handle_port_interrupt() argument
1700 struct ata_eh_info *ehi = &ap->link.eh_info; in ahci_handle_port_interrupt()
1701 struct ahci_port_priv *pp = ap->private_data; in ahci_handle_port_interrupt()
1702 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_handle_port_interrupt()
1703 int resetting = !!(ap->pflags & ATA_PFLAG_RESETTING); in ahci_handle_port_interrupt()
1711 if (sata_lpm_ignore_phy_events(&ap->link)) { in ahci_handle_port_interrupt()
1713 ahci_scr_write(&ap->link, SCR_ERROR, SERR_PHYRDY_CHG); in ahci_handle_port_interrupt()
1717 ahci_error_intr(ap, status); in ahci_handle_port_interrupt()
1732 sata_async_notification(ap); in ahci_handle_port_interrupt()
1748 sata_async_notification(ap); in ahci_handle_port_interrupt()
1758 if (ap->qc_active) { in ahci_handle_port_interrupt()
1764 if (ap->qc_active && pp->active_link->sactive) in ahci_handle_port_interrupt()
1771 rc = ata_qc_complete_multiple(ap, qc_active); in ahci_handle_port_interrupt()
1777 ata_port_freeze(ap); in ahci_handle_port_interrupt()
1781 static void ahci_port_intr(struct ata_port *ap) in ahci_port_intr() argument
1783 void __iomem *port_mmio = ahci_port_base(ap); in ahci_port_intr()
1789 ahci_handle_port_interrupt(ap, port_mmio, status); in ahci_port_intr()
1794 struct ata_port *ap = dev_instance; in ahci_port_thread_fn() local
1795 struct ahci_port_priv *pp = ap->private_data; in ahci_port_thread_fn()
1796 void __iomem *port_mmio = ahci_port_base(ap); in ahci_port_thread_fn()
1803 spin_lock_bh(ap->lock); in ahci_port_thread_fn()
1804 ahci_handle_port_interrupt(ap, port_mmio, status); in ahci_port_thread_fn()
1805 spin_unlock_bh(ap->lock); in ahci_port_thread_fn()
1812 struct ata_port *ap = dev_instance; in ahci_multi_irqs_intr() local
1813 void __iomem *port_mmio = ahci_port_base(ap); in ahci_multi_irqs_intr()
1814 struct ahci_port_priv *pp = ap->private_data; in ahci_multi_irqs_intr()
1852 struct ata_port *ap; in ahci_single_irq_intr() local
1857 ap = host->ports[i]; in ahci_single_irq_intr()
1858 if (ap) { in ahci_single_irq_intr()
1859 ahci_port_intr(ap); in ahci_single_irq_intr()
1891 struct ata_port *ap = qc->ap; in ahci_qc_issue() local
1892 void __iomem *port_mmio = ahci_port_base(ap); in ahci_qc_issue()
1893 struct ahci_port_priv *pp = ap->private_data; in ahci_qc_issue()
1922 struct ahci_port_priv *pp = qc->ap->private_data; in ahci_qc_fill_rtf()
1944 static void ahci_freeze(struct ata_port *ap) in ahci_freeze() argument
1946 void __iomem *port_mmio = ahci_port_base(ap); in ahci_freeze()
1952 static void ahci_thaw(struct ata_port *ap) in ahci_thaw() argument
1954 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_thaw()
1956 void __iomem *port_mmio = ahci_port_base(ap); in ahci_thaw()
1958 struct ahci_port_priv *pp = ap->private_data; in ahci_thaw()
1963 writel(1 << ap->port_no, mmio + HOST_IRQ_STAT); in ahci_thaw()
1969 void ahci_error_handler(struct ata_port *ap) in ahci_error_handler() argument
1971 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_handler()
1973 if (!(ap->pflags & ATA_PFLAG_FROZEN)) { in ahci_error_handler()
1975 ahci_stop_engine(ap); in ahci_error_handler()
1976 hpriv->start_engine(ap); in ahci_error_handler()
1979 sata_pmp_error_handler(ap); in ahci_error_handler()
1981 if (!ata_dev_enabled(ap->link.device)) in ahci_error_handler()
1982 ahci_stop_engine(ap); in ahci_error_handler()
1988 struct ata_port *ap = qc->ap; in ahci_post_internal_cmd() local
1992 ahci_kick_engine(ap); in ahci_post_internal_cmd()
1995 static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep) in ahci_set_aggressive_devslp() argument
1997 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_aggressive_devslp()
1998 void __iomem *port_mmio = ahci_port_base(ap); in ahci_set_aggressive_devslp()
1999 struct ata_device *dev = ap->link.device; in ahci_set_aggressive_devslp()
2006 dev_err(ap->host->dev, "port does not support device sleep\n"); in ahci_set_aggressive_devslp()
2029 rc = ahci_stop_engine(ap); in ahci_set_aggressive_devslp()
2061 hpriv->start_engine(ap); in ahci_set_aggressive_devslp()
2071 static void ahci_enable_fbs(struct ata_port *ap) in ahci_enable_fbs() argument
2073 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_enable_fbs()
2074 struct ahci_port_priv *pp = ap->private_data; in ahci_enable_fbs()
2075 void __iomem *port_mmio = ahci_port_base(ap); in ahci_enable_fbs()
2089 rc = ahci_stop_engine(ap); in ahci_enable_fbs()
2096 dev_info(ap->host->dev, "FBS is enabled\n"); in ahci_enable_fbs()
2100 dev_err(ap->host->dev, "Failed to enable FBS\n"); in ahci_enable_fbs()
2102 hpriv->start_engine(ap); in ahci_enable_fbs()
2105 static void ahci_disable_fbs(struct ata_port *ap) in ahci_disable_fbs() argument
2107 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_disable_fbs()
2108 struct ahci_port_priv *pp = ap->private_data; in ahci_disable_fbs()
2109 void __iomem *port_mmio = ahci_port_base(ap); in ahci_disable_fbs()
2122 rc = ahci_stop_engine(ap); in ahci_disable_fbs()
2129 dev_err(ap->host->dev, "Failed to disable FBS\n"); in ahci_disable_fbs()
2131 dev_info(ap->host->dev, "FBS is disabled\n"); in ahci_disable_fbs()
2135 hpriv->start_engine(ap); in ahci_disable_fbs()
2138 static void ahci_pmp_attach(struct ata_port *ap) in ahci_pmp_attach() argument
2140 void __iomem *port_mmio = ahci_port_base(ap); in ahci_pmp_attach()
2141 struct ahci_port_priv *pp = ap->private_data; in ahci_pmp_attach()
2148 ahci_enable_fbs(ap); in ahci_pmp_attach()
2160 if (!(ap->pflags & ATA_PFLAG_FROZEN)) in ahci_pmp_attach()
2164 static void ahci_pmp_detach(struct ata_port *ap) in ahci_pmp_detach() argument
2166 void __iomem *port_mmio = ahci_port_base(ap); in ahci_pmp_detach()
2167 struct ahci_port_priv *pp = ap->private_data; in ahci_pmp_detach()
2170 ahci_disable_fbs(ap); in ahci_pmp_detach()
2179 if (!(ap->pflags & ATA_PFLAG_FROZEN)) in ahci_pmp_detach()
2183 int ahci_port_resume(struct ata_port *ap) in ahci_port_resume() argument
2185 ahci_power_up(ap); in ahci_port_resume()
2186 ahci_start_port(ap); in ahci_port_resume()
2188 if (sata_pmp_attached(ap)) in ahci_port_resume()
2189 ahci_pmp_attach(ap); in ahci_port_resume()
2191 ahci_pmp_detach(ap); in ahci_port_resume()
2198 static int ahci_port_suspend(struct ata_port *ap, pm_message_t mesg) in ahci_port_suspend() argument
2203 rc = ahci_deinit_port(ap, &emsg); in ahci_port_suspend()
2205 ahci_power_down(ap); in ahci_port_suspend()
2207 ata_port_err(ap, "%s (%d)\n", emsg, rc); in ahci_port_suspend()
2208 ata_port_freeze(ap); in ahci_port_suspend()
2215 static int ahci_port_start(struct ata_port *ap) in ahci_port_start() argument
2217 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_start()
2218 struct device *dev = ap->host->dev; in ahci_port_start()
2228 if (ap->host->n_ports > 1) { in ahci_port_start()
2235 "%s%d", dev_driver_string(dev), ap->port_no); in ahci_port_start()
2239 if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) { in ahci_port_start()
2240 void __iomem *port_mmio = ahci_port_base(ap); in ahci_port_start()
2246 ap->port_no); in ahci_port_start()
2250 ap->port_no); in ahci_port_start()
2303 ap->lock = &pp->lock; in ahci_port_start()
2306 ap->private_data = pp; in ahci_port_start()
2309 return ahci_port_resume(ap); in ahci_port_start()
2312 static void ahci_port_stop(struct ata_port *ap) in ahci_port_stop() argument
2318 rc = ahci_deinit_port(ap, &emsg); in ahci_port_stop()
2320 ata_port_warn(ap, "%s (%d)\n", emsg, rc); in ahci_port_stop()