Lines Matching refs:hpriv

263 	struct ahci_host_priv *hpriv = ap->host->private_data;  in ahci_show_host_caps()  local
265 return sprintf(buf, "%x\n", hpriv->cap); in ahci_show_host_caps()
273 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_cap2() local
275 return sprintf(buf, "%x\n", hpriv->cap2); in ahci_show_host_cap2()
283 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_version() local
285 return sprintf(buf, "%x\n", hpriv->version); in ahci_show_host_version()
308 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_read_em_buffer() local
309 void __iomem *mmio = hpriv->mmio; in ahci_read_em_buffer()
310 void __iomem *em_mmio = mmio + hpriv->em_loc; in ahci_read_em_buffer()
321 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO)) { in ahci_read_em_buffer()
334 em_mmio += hpriv->em_buf_sz; in ahci_read_em_buffer()
336 count = hpriv->em_buf_sz; in ahci_read_em_buffer()
344 hpriv->em_buf_sz, PAGE_SIZE); in ahci_read_em_buffer()
368 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_store_em_buffer() local
369 void __iomem *mmio = hpriv->mmio; in ahci_store_em_buffer()
370 void __iomem *em_mmio = mmio + hpriv->em_loc; in ahci_store_em_buffer()
378 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO) || in ahci_store_em_buffer()
379 size % 4 || size > hpriv->em_buf_sz) in ahci_store_em_buffer()
411 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_em_supported() local
412 void __iomem *mmio = hpriv->mmio; in ahci_show_em_supported()
444 void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv) in ahci_save_initial_config() argument
446 void __iomem *mmio = hpriv->mmio; in ahci_save_initial_config()
466 if (hpriv->saved_cap) in ahci_save_initial_config()
467 cap = (cap & ~(HOST_CAP_SSS | HOST_CAP_MPS)) | hpriv->saved_cap; in ahci_save_initial_config()
468 hpriv->saved_cap = cap; in ahci_save_initial_config()
474 hpriv->saved_cap2 = cap2 = readl(mmio + HOST_CAP2); in ahci_save_initial_config()
476 hpriv->saved_cap2 = cap2 = 0; in ahci_save_initial_config()
479 if ((cap & HOST_CAP_64) && (hpriv->flags & AHCI_HFLAG_32BIT_ONLY)) { in ahci_save_initial_config()
484 if ((cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_NO_NCQ)) { in ahci_save_initial_config()
489 if (!(cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_YES_NCQ)) { in ahci_save_initial_config()
494 if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) { in ahci_save_initial_config()
499 if ((cap & HOST_CAP_SNTF) && (hpriv->flags & AHCI_HFLAG_NO_SNTF)) { in ahci_save_initial_config()
505 if ((cap2 & HOST_CAP2_SDS) && (hpriv->flags & AHCI_HFLAG_NO_DEVSLP)) { in ahci_save_initial_config()
512 if (!(cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_YES_FBS)) { in ahci_save_initial_config()
517 if ((cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_NO_FBS)) { in ahci_save_initial_config()
522 if (!(cap & HOST_CAP_ALPM) && (hpriv->flags & AHCI_HFLAG_YES_ALPM)) { in ahci_save_initial_config()
527 if ((cap & HOST_CAP_SXS) && (hpriv->flags & AHCI_HFLAG_NO_SXS)) { in ahci_save_initial_config()
534 if (hpriv->saved_port_map && port_map != hpriv->saved_port_map) { in ahci_save_initial_config()
536 port_map, hpriv->saved_port_map); in ahci_save_initial_config()
537 port_map = hpriv->saved_port_map; in ahci_save_initial_config()
539 hpriv->saved_port_map = port_map; in ahci_save_initial_config()
542 if (hpriv->mask_port_map) { in ahci_save_initial_config()
545 port_map & hpriv->mask_port_map); in ahci_save_initial_config()
546 port_map &= hpriv->mask_port_map; in ahci_save_initial_config()
574 hpriv->saved_port_map = port_map; in ahci_save_initial_config()
583 if (hpriv->saved_port_cap[i]) in ahci_save_initial_config()
586 port_mmio = __ahci_port_base(hpriv, i); in ahci_save_initial_config()
587 hpriv->saved_port_cap[i] = in ahci_save_initial_config()
592 hpriv->cap = cap; in ahci_save_initial_config()
593 hpriv->cap2 = cap2; in ahci_save_initial_config()
594 hpriv->version = vers; in ahci_save_initial_config()
595 hpriv->port_map = port_map; in ahci_save_initial_config()
597 if (!hpriv->start_engine) in ahci_save_initial_config()
598 hpriv->start_engine = ahci_start_engine; in ahci_save_initial_config()
600 if (!hpriv->stop_engine) in ahci_save_initial_config()
601 hpriv->stop_engine = ahci_stop_engine; in ahci_save_initial_config()
603 if (!hpriv->irq_handler) in ahci_save_initial_config()
604 hpriv->irq_handler = ahci_single_level_irq_intr; in ahci_save_initial_config()
619 struct ahci_host_priv *hpriv = host->private_data; in ahci_restore_initial_config() local
620 unsigned long port_map = hpriv->port_map; in ahci_restore_initial_config()
621 void __iomem *mmio = hpriv->mmio; in ahci_restore_initial_config()
625 writel(hpriv->saved_cap, mmio + HOST_CAP); in ahci_restore_initial_config()
626 if (hpriv->saved_cap2) in ahci_restore_initial_config()
627 writel(hpriv->saved_cap2, mmio + HOST_CAP2); in ahci_restore_initial_config()
628 writel(hpriv->saved_port_map, mmio + HOST_PORTS_IMPL); in ahci_restore_initial_config()
632 port_mmio = __ahci_port_base(hpriv, i); in ahci_restore_initial_config()
633 writel(hpriv->saved_port_cap[i], port_mmio + PORT_CMD); in ahci_restore_initial_config()
646 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_scr_offset() local
649 (sc_reg != SCR_NOTIFICATION || (hpriv->cap & HOST_CAP_SNTF))) in ahci_scr_offset()
694 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_stop_engine() local
703 if ((hpriv->flags & AHCI_HFLAG_WAKE_BEFORE_STOP) && in ahci_stop_engine()
743 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_fis_rx() local
748 if (hpriv->cap & HOST_CAP_64) in ahci_start_fis_rx()
753 if (hpriv->cap & HOST_CAP_64) in ahci_start_fis_rx()
789 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_up() local
796 if (hpriv->cap & HOST_CAP_SSS) { in ahci_power_up()
809 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_lpm() local
828 if (hpriv->cap & HOST_CAP_ALPM) { in ahci_set_lpm()
857 if ((hpriv->cap2 & HOST_CAP2_SDS) && in ahci_set_lpm()
858 (hpriv->cap2 & HOST_CAP2_SADM) && in ahci_set_lpm()
881 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_down() local
885 if (!(hpriv->cap & HOST_CAP_SSS)) in ahci_power_down()
902 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_port() local
913 if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE)) in ahci_start_port()
914 hpriv->start_engine(ap); in ahci_start_port()
951 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_deinit_port() local
954 rc = hpriv->stop_engine(ap); in ahci_deinit_port()
972 struct ahci_host_priv *hpriv = host->private_data; in ahci_reset_controller() local
973 void __iomem *mmio = hpriv->mmio; in ahci_reset_controller()
1010 if (!(hpriv->flags & AHCI_HFLAG_NO_WRITE_TO_RO)) in ahci_reset_controller()
1095 struct ahci_host_priv *hpriv = host->private_data; in ahci_reset_em() local
1096 void __iomem *mmio = hpriv->mmio; in ahci_reset_em()
1111 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_transmit_led_message() local
1113 void __iomem *mmio = hpriv->mmio; in ahci_transmit_led_message()
1141 if (hpriv->em_msg_type & EM_MSG_TYPE_LED) { in ahci_transmit_led_message()
1152 writel(message[0], mmio + hpriv->em_loc); in ahci_transmit_led_message()
1153 writel(message[1], mmio + hpriv->em_loc+4); in ahci_transmit_led_message()
1262 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_init() local
1287 if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS)) in ahci_port_init()
1293 struct ahci_host_priv *hpriv = host->private_data; in ahci_init_controller() local
1294 void __iomem *mmio = hpriv->mmio; in ahci_init_controller()
1319 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data; in ahci_dev_config() local
1321 if (hpriv->flags & AHCI_HFLAG_SECT255) { in ahci_dev_config()
1361 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_kick_engine() local
1367 rc = hpriv->stop_engine(ap); in ahci_kick_engine()
1380 if (!(hpriv->cap & HOST_CAP_CLO)) { in ahci_kick_engine()
1398 hpriv->start_engine(ap); in ahci_kick_engine()
1447 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_softreset() local
1495 if (rc == -EBUSY && hpriv->flags & AHCI_HFLAG_SRST_TOUT_IS_OFFLINE) { in ahci_do_softreset()
1592 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_hardreset() local
1597 hpriv->stop_engine(ap); in ahci_do_hardreset()
1607 hpriv->start_engine(ap); in ahci_do_hardreset()
1741 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_intr() local
1782 if (hpriv->flags & AHCI_HFLAG_IGN_IRQ_IF_ERR) in ahci_error_intr()
1795 if (hpriv->flags & AHCI_HFLAG_IGN_SERR_INTERNAL) in ahci_error_intr()
1855 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_handle_port_interrupt() local
1884 if (hpriv->cap & HOST_CAP_SNTF) in ahci_handle_port_interrupt()
1990 struct ahci_host_priv *hpriv; in ahci_single_level_irq_intr() local
1995 hpriv = host->private_data; in ahci_single_level_irq_intr()
1996 mmio = hpriv->mmio; in ahci_single_level_irq_intr()
2003 irq_masked = irq_stat & hpriv->port_map; in ahci_single_level_irq_intr()
2090 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_thaw() local
2091 void __iomem *mmio = hpriv->mmio; in ahci_thaw()
2107 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_handler() local
2111 hpriv->stop_engine(ap); in ahci_error_handler()
2112 hpriv->start_engine(ap); in ahci_error_handler()
2118 hpriv->stop_engine(ap); in ahci_error_handler()
2133 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_aggressive_devslp() local
2172 rc = hpriv->stop_engine(ap); in ahci_set_aggressive_devslp()
2201 hpriv->start_engine(ap); in ahci_set_aggressive_devslp()
2213 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_enable_fbs() local
2229 rc = hpriv->stop_engine(ap); in ahci_enable_fbs()
2242 hpriv->start_engine(ap); in ahci_enable_fbs()
2247 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_disable_fbs() local
2262 rc = hpriv->stop_engine(ap); in ahci_disable_fbs()
2275 hpriv->start_engine(ap); in ahci_disable_fbs()
2375 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_start() local
2397 if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) { in ahci_port_start()
2402 else if (hpriv->flags & AHCI_HFLAG_YES_FBS) { in ahci_port_start()
2458 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) { in ahci_port_start()
2472 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_stop() local
2473 void __iomem *host_mmio = hpriv->mmio; in ahci_port_stop()
2492 struct ahci_host_priv *hpriv = host->private_data; in ahci_print_info() local
2496 vers = hpriv->version; in ahci_print_info()
2497 cap = hpriv->cap; in ahci_print_info()
2498 cap2 = hpriv->cap2; in ahci_print_info()
2499 impl = hpriv->port_map; in ahci_print_info()
2562 void ahci_set_em_messages(struct ahci_host_priv *hpriv, in ahci_set_em_messages() argument
2566 void __iomem *mmio = hpriv->mmio; in ahci_set_em_messages()
2570 if (!ahci_em_messages || !(hpriv->cap & HOST_CAP_EMS)) in ahci_set_em_messages()
2577 hpriv->em_loc = ((em_loc >> 16) * 4); in ahci_set_em_messages()
2578 hpriv->em_buf_sz = ((em_loc & 0xff) * 4); in ahci_set_em_messages()
2579 hpriv->em_msg_type = messages; in ahci_set_em_messages()
2590 struct ahci_host_priv *hpriv = host->private_data; in ahci_host_activate_multi_irqs() local
2602 int irq = hpriv->get_irq_vector(host, i); in ahci_host_activate_multi_irqs()
2634 struct ahci_host_priv *hpriv = host->private_data; in ahci_host_activate() local
2635 int irq = hpriv->irq; in ahci_host_activate()
2638 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) { in ahci_host_activate()
2639 if (hpriv->irq_handler && in ahci_host_activate()
2640 hpriv->irq_handler != ahci_single_level_irq_intr) in ahci_host_activate()
2643 if (!hpriv->get_irq_vector) { in ahci_host_activate()
2651 rc = ata_host_activate(host, irq, hpriv->irq_handler, in ahci_host_activate()