Lines Matching refs:hpriv
243 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_caps() local
245 return sprintf(buf, "%x\n", hpriv->cap); in ahci_show_host_caps()
253 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_cap2() local
255 return sprintf(buf, "%x\n", hpriv->cap2); in ahci_show_host_cap2()
263 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_version() local
265 return sprintf(buf, "%x\n", hpriv->version); in ahci_show_host_version()
288 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_read_em_buffer() local
289 void __iomem *mmio = hpriv->mmio; in ahci_read_em_buffer()
290 void __iomem *em_mmio = mmio + hpriv->em_loc; in ahci_read_em_buffer()
301 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO)) { in ahci_read_em_buffer()
314 em_mmio += hpriv->em_buf_sz; in ahci_read_em_buffer()
316 count = hpriv->em_buf_sz; in ahci_read_em_buffer()
324 hpriv->em_buf_sz, PAGE_SIZE); in ahci_read_em_buffer()
348 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_store_em_buffer() local
349 void __iomem *mmio = hpriv->mmio; in ahci_store_em_buffer()
350 void __iomem *em_mmio = mmio + hpriv->em_loc; in ahci_store_em_buffer()
358 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO) || in ahci_store_em_buffer()
359 size % 4 || size > hpriv->em_buf_sz) in ahci_store_em_buffer()
391 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_em_supported() local
392 void __iomem *mmio = hpriv->mmio; in ahci_show_em_supported()
424 void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv) in ahci_save_initial_config() argument
426 void __iomem *mmio = hpriv->mmio; in ahci_save_initial_config()
436 hpriv->saved_cap = cap = readl(mmio + HOST_CAP); in ahci_save_initial_config()
437 hpriv->saved_port_map = port_map = readl(mmio + HOST_PORTS_IMPL); in ahci_save_initial_config()
443 hpriv->saved_cap2 = cap2 = readl(mmio + HOST_CAP2); in ahci_save_initial_config()
445 hpriv->saved_cap2 = cap2 = 0; in ahci_save_initial_config()
448 if ((cap & HOST_CAP_64) && (hpriv->flags & AHCI_HFLAG_32BIT_ONLY)) { in ahci_save_initial_config()
453 if ((cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_NO_NCQ)) { in ahci_save_initial_config()
458 if (!(cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_YES_NCQ)) { in ahci_save_initial_config()
463 if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) { in ahci_save_initial_config()
468 if ((cap & HOST_CAP_SNTF) && (hpriv->flags & AHCI_HFLAG_NO_SNTF)) { in ahci_save_initial_config()
474 if ((cap2 & HOST_CAP2_SDS) && (hpriv->flags & AHCI_HFLAG_NO_DEVSLP)) { in ahci_save_initial_config()
481 if (!(cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_YES_FBS)) { in ahci_save_initial_config()
486 if ((cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_NO_FBS)) { in ahci_save_initial_config()
491 if (!(cap & HOST_CAP_ALPM) && (hpriv->flags & AHCI_HFLAG_YES_ALPM)) { in ahci_save_initial_config()
496 if ((cap & HOST_CAP_SXS) && (hpriv->flags & AHCI_HFLAG_NO_SXS)) { in ahci_save_initial_config()
501 if (hpriv->force_port_map && port_map != hpriv->force_port_map) { in ahci_save_initial_config()
503 port_map, hpriv->force_port_map); in ahci_save_initial_config()
504 port_map = hpriv->force_port_map; in ahci_save_initial_config()
505 hpriv->saved_port_map = port_map; in ahci_save_initial_config()
508 if (hpriv->mask_port_map) { in ahci_save_initial_config()
511 port_map & hpriv->mask_port_map); in ahci_save_initial_config()
512 port_map &= hpriv->mask_port_map; in ahci_save_initial_config()
540 hpriv->saved_port_map = port_map; in ahci_save_initial_config()
544 hpriv->cap = cap; in ahci_save_initial_config()
545 hpriv->cap2 = cap2; in ahci_save_initial_config()
546 hpriv->version = readl(mmio + HOST_VERSION); in ahci_save_initial_config()
547 hpriv->port_map = port_map; in ahci_save_initial_config()
549 if (!hpriv->start_engine) in ahci_save_initial_config()
550 hpriv->start_engine = ahci_start_engine; in ahci_save_initial_config()
552 if (!hpriv->stop_engine) in ahci_save_initial_config()
553 hpriv->stop_engine = ahci_stop_engine; in ahci_save_initial_config()
555 if (!hpriv->irq_handler) in ahci_save_initial_config()
556 hpriv->irq_handler = ahci_single_level_irq_intr; in ahci_save_initial_config()
571 struct ahci_host_priv *hpriv = host->private_data; in ahci_restore_initial_config() local
572 void __iomem *mmio = hpriv->mmio; in ahci_restore_initial_config()
574 writel(hpriv->saved_cap, mmio + HOST_CAP); in ahci_restore_initial_config()
575 if (hpriv->saved_cap2) in ahci_restore_initial_config()
576 writel(hpriv->saved_cap2, mmio + HOST_CAP2); in ahci_restore_initial_config()
577 writel(hpriv->saved_port_map, mmio + HOST_PORTS_IMPL); in ahci_restore_initial_config()
590 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_scr_offset() local
593 (sc_reg != SCR_NOTIFICATION || (hpriv->cap & HOST_CAP_SNTF))) in ahci_scr_offset()
638 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_stop_engine() local
647 if ((hpriv->flags & AHCI_HFLAG_WAKE_BEFORE_STOP) && in ahci_stop_engine()
687 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_fis_rx() local
692 if (hpriv->cap & HOST_CAP_64) in ahci_start_fis_rx()
697 if (hpriv->cap & HOST_CAP_64) in ahci_start_fis_rx()
733 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_up() local
740 if (hpriv->cap & HOST_CAP_SSS) { in ahci_power_up()
753 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_lpm() local
772 if (hpriv->cap & HOST_CAP_ALPM) { in ahci_set_lpm()
801 if ((hpriv->cap2 & HOST_CAP2_SDS) && in ahci_set_lpm()
802 (hpriv->cap2 & HOST_CAP2_SADM) && in ahci_set_lpm()
825 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_down() local
829 if (!(hpriv->cap & HOST_CAP_SSS)) in ahci_power_down()
846 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_port() local
857 if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE)) in ahci_start_port()
858 hpriv->start_engine(ap); in ahci_start_port()
895 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_deinit_port() local
898 rc = hpriv->stop_engine(ap); in ahci_deinit_port()
916 struct ahci_host_priv *hpriv = host->private_data; in ahci_reset_controller() local
917 void __iomem *mmio = hpriv->mmio; in ahci_reset_controller()
954 if (!(hpriv->flags & AHCI_HFLAG_NO_WRITE_TO_RO)) in ahci_reset_controller()
1039 struct ahci_host_priv *hpriv = host->private_data; in ahci_reset_em() local
1040 void __iomem *mmio = hpriv->mmio; in ahci_reset_em()
1055 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_transmit_led_message() local
1057 void __iomem *mmio = hpriv->mmio; in ahci_transmit_led_message()
1085 if (hpriv->em_msg_type & EM_MSG_TYPE_LED) { in ahci_transmit_led_message()
1096 writel(message[0], mmio + hpriv->em_loc); in ahci_transmit_led_message()
1097 writel(message[1], mmio + hpriv->em_loc+4); in ahci_transmit_led_message()
1206 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_init() local
1231 if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS)) in ahci_port_init()
1237 struct ahci_host_priv *hpriv = host->private_data; in ahci_init_controller() local
1238 void __iomem *mmio = hpriv->mmio; in ahci_init_controller()
1263 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data; in ahci_dev_config() local
1265 if (hpriv->flags & AHCI_HFLAG_SECT255) { in ahci_dev_config()
1305 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_kick_engine() local
1311 rc = hpriv->stop_engine(ap); in ahci_kick_engine()
1324 if (!(hpriv->cap & HOST_CAP_CLO)) { in ahci_kick_engine()
1342 hpriv->start_engine(ap); in ahci_kick_engine()
1391 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_softreset() local
1441 if (rc == -EBUSY && hpriv->flags & AHCI_HFLAG_SRST_TOUT_IS_OFFLINE) { in ahci_do_softreset()
1543 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_hardreset() local
1550 hpriv->stop_engine(ap); in ahci_do_hardreset()
1560 hpriv->start_engine(ap); in ahci_do_hardreset()
1698 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_intr() local
1739 if (hpriv->flags & AHCI_HFLAG_IGN_IRQ_IF_ERR) in ahci_error_intr()
1752 if (hpriv->flags & AHCI_HFLAG_IGN_SERR_INTERNAL) in ahci_error_intr()
1812 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_handle_port_interrupt() local
1841 if (hpriv->cap & HOST_CAP_SNTF) in ahci_handle_port_interrupt()
1953 struct ahci_host_priv *hpriv; in ahci_single_level_irq_intr() local
1960 hpriv = host->private_data; in ahci_single_level_irq_intr()
1961 mmio = hpriv->mmio; in ahci_single_level_irq_intr()
1968 irq_masked = irq_stat & hpriv->port_map; in ahci_single_level_irq_intr()
2057 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_thaw() local
2058 void __iomem *mmio = hpriv->mmio; in ahci_thaw()
2074 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_handler() local
2078 hpriv->stop_engine(ap); in ahci_error_handler()
2079 hpriv->start_engine(ap); in ahci_error_handler()
2085 hpriv->stop_engine(ap); in ahci_error_handler()
2100 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_aggressive_devslp() local
2139 rc = hpriv->stop_engine(ap); in ahci_set_aggressive_devslp()
2168 hpriv->start_engine(ap); in ahci_set_aggressive_devslp()
2180 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_enable_fbs() local
2196 rc = hpriv->stop_engine(ap); in ahci_enable_fbs()
2209 hpriv->start_engine(ap); in ahci_enable_fbs()
2214 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_disable_fbs() local
2229 rc = hpriv->stop_engine(ap); in ahci_disable_fbs()
2242 hpriv->start_engine(ap); in ahci_disable_fbs()
2327 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_start() local
2349 if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) { in ahci_port_start()
2354 else if (hpriv->flags & AHCI_HFLAG_YES_FBS) { in ahci_port_start()
2410 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) { in ahci_port_start()
2424 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_stop() local
2425 void __iomem *host_mmio = hpriv->mmio; in ahci_port_stop()
2444 struct ahci_host_priv *hpriv = host->private_data; in ahci_print_info() local
2448 vers = hpriv->version; in ahci_print_info()
2449 cap = hpriv->cap; in ahci_print_info()
2450 cap2 = hpriv->cap2; in ahci_print_info()
2451 impl = hpriv->port_map; in ahci_print_info()
2514 void ahci_set_em_messages(struct ahci_host_priv *hpriv, in ahci_set_em_messages() argument
2518 void __iomem *mmio = hpriv->mmio; in ahci_set_em_messages()
2522 if (!ahci_em_messages || !(hpriv->cap & HOST_CAP_EMS)) in ahci_set_em_messages()
2529 hpriv->em_loc = ((em_loc >> 16) * 4); in ahci_set_em_messages()
2530 hpriv->em_buf_sz = ((em_loc & 0xff) * 4); in ahci_set_em_messages()
2531 hpriv->em_msg_type = messages; in ahci_set_em_messages()
2542 struct ahci_host_priv *hpriv = host->private_data; in ahci_host_activate_multi_irqs() local
2554 int irq = hpriv->get_irq_vector(host, i); in ahci_host_activate_multi_irqs()
2586 struct ahci_host_priv *hpriv = host->private_data; in ahci_host_activate() local
2587 int irq = hpriv->irq; in ahci_host_activate()
2590 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) { in ahci_host_activate()
2591 if (hpriv->irq_handler && in ahci_host_activate()
2592 hpriv->irq_handler != ahci_single_level_irq_intr) in ahci_host_activate()
2595 if (!hpriv->get_irq_vector) { in ahci_host_activate()
2603 rc = ata_host_activate(host, irq, hpriv->irq_handler, in ahci_host_activate()