Lines Matching refs:hpriv

260 	struct ahci_host_priv *hpriv = ap->host->private_data;  in ahci_show_host_caps()  local
262 return sprintf(buf, "%x\n", hpriv->cap); in ahci_show_host_caps()
270 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_cap2() local
272 return sprintf(buf, "%x\n", hpriv->cap2); in ahci_show_host_cap2()
280 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_host_version() local
282 return sprintf(buf, "%x\n", hpriv->version); in ahci_show_host_version()
305 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_read_em_buffer() local
306 void __iomem *mmio = hpriv->mmio; in ahci_read_em_buffer()
307 void __iomem *em_mmio = mmio + hpriv->em_loc; in ahci_read_em_buffer()
318 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO)) { in ahci_read_em_buffer()
331 em_mmio += hpriv->em_buf_sz; in ahci_read_em_buffer()
333 count = hpriv->em_buf_sz; in ahci_read_em_buffer()
341 hpriv->em_buf_sz, PAGE_SIZE); in ahci_read_em_buffer()
365 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_store_em_buffer() local
366 void __iomem *mmio = hpriv->mmio; in ahci_store_em_buffer()
367 void __iomem *em_mmio = mmio + hpriv->em_loc; in ahci_store_em_buffer()
375 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO) || in ahci_store_em_buffer()
376 size % 4 || size > hpriv->em_buf_sz) in ahci_store_em_buffer()
408 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_show_em_supported() local
409 void __iomem *mmio = hpriv->mmio; in ahci_show_em_supported()
441 void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv) in ahci_save_initial_config() argument
443 void __iomem *mmio = hpriv->mmio; in ahci_save_initial_config()
453 hpriv->saved_cap = cap = readl(mmio + HOST_CAP); in ahci_save_initial_config()
454 hpriv->saved_port_map = port_map = readl(mmio + HOST_PORTS_IMPL); in ahci_save_initial_config()
460 hpriv->saved_cap2 = cap2 = readl(mmio + HOST_CAP2); in ahci_save_initial_config()
462 hpriv->saved_cap2 = cap2 = 0; in ahci_save_initial_config()
465 if ((cap & HOST_CAP_64) && (hpriv->flags & AHCI_HFLAG_32BIT_ONLY)) { in ahci_save_initial_config()
470 if ((cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_NO_NCQ)) { in ahci_save_initial_config()
475 if (!(cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_YES_NCQ)) { in ahci_save_initial_config()
480 if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) { in ahci_save_initial_config()
485 if ((cap & HOST_CAP_SNTF) && (hpriv->flags & AHCI_HFLAG_NO_SNTF)) { in ahci_save_initial_config()
491 if ((cap2 & HOST_CAP2_SDS) && (hpriv->flags & AHCI_HFLAG_NO_DEVSLP)) { in ahci_save_initial_config()
498 if (!(cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_YES_FBS)) { in ahci_save_initial_config()
503 if ((cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_NO_FBS)) { in ahci_save_initial_config()
508 if (!(cap & HOST_CAP_ALPM) && (hpriv->flags & AHCI_HFLAG_YES_ALPM)) { in ahci_save_initial_config()
513 if (hpriv->force_port_map && port_map != hpriv->force_port_map) { in ahci_save_initial_config()
515 port_map, hpriv->force_port_map); in ahci_save_initial_config()
516 port_map = hpriv->force_port_map; in ahci_save_initial_config()
517 hpriv->saved_port_map = port_map; in ahci_save_initial_config()
520 if (hpriv->mask_port_map) { in ahci_save_initial_config()
523 port_map & hpriv->mask_port_map); in ahci_save_initial_config()
524 port_map &= hpriv->mask_port_map; in ahci_save_initial_config()
552 hpriv->saved_port_map = port_map; in ahci_save_initial_config()
556 hpriv->cap = cap; in ahci_save_initial_config()
557 hpriv->cap2 = cap2; in ahci_save_initial_config()
558 hpriv->version = readl(mmio + HOST_VERSION); in ahci_save_initial_config()
559 hpriv->port_map = port_map; in ahci_save_initial_config()
561 if (!hpriv->start_engine) in ahci_save_initial_config()
562 hpriv->start_engine = ahci_start_engine; in ahci_save_initial_config()
564 if (!hpriv->stop_engine) in ahci_save_initial_config()
565 hpriv->stop_engine = ahci_stop_engine; in ahci_save_initial_config()
567 if (!hpriv->irq_handler) in ahci_save_initial_config()
568 hpriv->irq_handler = ahci_single_level_irq_intr; in ahci_save_initial_config()
583 struct ahci_host_priv *hpriv = host->private_data; in ahci_restore_initial_config() local
584 void __iomem *mmio = hpriv->mmio; in ahci_restore_initial_config()
586 writel(hpriv->saved_cap, mmio + HOST_CAP); in ahci_restore_initial_config()
587 if (hpriv->saved_cap2) in ahci_restore_initial_config()
588 writel(hpriv->saved_cap2, mmio + HOST_CAP2); in ahci_restore_initial_config()
589 writel(hpriv->saved_port_map, mmio + HOST_PORTS_IMPL); in ahci_restore_initial_config()
602 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_scr_offset() local
605 (sc_reg != SCR_NOTIFICATION || (hpriv->cap & HOST_CAP_SNTF))) in ahci_scr_offset()
650 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_stop_engine() local
659 if ((hpriv->flags & AHCI_HFLAG_WAKE_BEFORE_STOP) && in ahci_stop_engine()
699 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_fis_rx() local
704 if (hpriv->cap & HOST_CAP_64) in ahci_start_fis_rx()
709 if (hpriv->cap & HOST_CAP_64) in ahci_start_fis_rx()
745 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_up() local
752 if (hpriv->cap & HOST_CAP_SSS) { in ahci_power_up()
765 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_lpm() local
784 if (hpriv->cap & HOST_CAP_ALPM) { in ahci_set_lpm()
813 if ((hpriv->cap2 & HOST_CAP2_SDS) && in ahci_set_lpm()
814 (hpriv->cap2 & HOST_CAP2_SADM) && in ahci_set_lpm()
837 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_power_down() local
841 if (!(hpriv->cap & HOST_CAP_SSS)) in ahci_power_down()
858 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_start_port() local
869 if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE)) in ahci_start_port()
870 hpriv->start_engine(ap); in ahci_start_port()
907 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_deinit_port() local
910 rc = hpriv->stop_engine(ap); in ahci_deinit_port()
928 struct ahci_host_priv *hpriv = host->private_data; in ahci_reset_controller() local
929 void __iomem *mmio = hpriv->mmio; in ahci_reset_controller()
966 if (!(hpriv->flags & AHCI_HFLAG_NO_WRITE_TO_RO)) in ahci_reset_controller()
1051 struct ahci_host_priv *hpriv = host->private_data; in ahci_reset_em() local
1052 void __iomem *mmio = hpriv->mmio; in ahci_reset_em()
1067 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_transmit_led_message() local
1069 void __iomem *mmio = hpriv->mmio; in ahci_transmit_led_message()
1097 if (hpriv->em_msg_type & EM_MSG_TYPE_LED) { in ahci_transmit_led_message()
1108 writel(message[0], mmio + hpriv->em_loc); in ahci_transmit_led_message()
1109 writel(message[1], mmio + hpriv->em_loc+4); in ahci_transmit_led_message()
1218 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_init() local
1243 if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS)) in ahci_port_init()
1249 struct ahci_host_priv *hpriv = host->private_data; in ahci_init_controller() local
1250 void __iomem *mmio = hpriv->mmio; in ahci_init_controller()
1275 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data; in ahci_dev_config() local
1277 if (hpriv->flags & AHCI_HFLAG_SECT255) { in ahci_dev_config()
1317 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_kick_engine() local
1323 rc = hpriv->stop_engine(ap); in ahci_kick_engine()
1336 if (!(hpriv->cap & HOST_CAP_CLO)) { in ahci_kick_engine()
1354 hpriv->start_engine(ap); in ahci_kick_engine()
1403 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_softreset() local
1453 if (rc == -EBUSY && hpriv->flags & AHCI_HFLAG_SRST_TOUT_IS_OFFLINE) { in ahci_do_softreset()
1555 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_do_hardreset() local
1562 hpriv->stop_engine(ap); in ahci_do_hardreset()
1572 hpriv->start_engine(ap); in ahci_do_hardreset()
1708 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_intr() local
1749 if (hpriv->flags & AHCI_HFLAG_IGN_IRQ_IF_ERR) in ahci_error_intr()
1762 if (hpriv->flags & AHCI_HFLAG_IGN_SERR_INTERNAL) in ahci_error_intr()
1822 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_handle_port_interrupt() local
1851 if (hpriv->cap & HOST_CAP_SNTF) in ahci_handle_port_interrupt()
1963 struct ahci_host_priv *hpriv; in ahci_single_level_irq_intr() local
1970 hpriv = host->private_data; in ahci_single_level_irq_intr()
1971 mmio = hpriv->mmio; in ahci_single_level_irq_intr()
1978 irq_masked = irq_stat & hpriv->port_map; in ahci_single_level_irq_intr()
2067 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_thaw() local
2068 void __iomem *mmio = hpriv->mmio; in ahci_thaw()
2084 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_error_handler() local
2088 hpriv->stop_engine(ap); in ahci_error_handler()
2089 hpriv->start_engine(ap); in ahci_error_handler()
2095 hpriv->stop_engine(ap); in ahci_error_handler()
2110 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_set_aggressive_devslp() local
2149 rc = hpriv->stop_engine(ap); in ahci_set_aggressive_devslp()
2178 hpriv->start_engine(ap); in ahci_set_aggressive_devslp()
2190 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_enable_fbs() local
2206 rc = hpriv->stop_engine(ap); in ahci_enable_fbs()
2219 hpriv->start_engine(ap); in ahci_enable_fbs()
2224 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_disable_fbs() local
2239 rc = hpriv->stop_engine(ap); in ahci_disable_fbs()
2252 hpriv->start_engine(ap); in ahci_disable_fbs()
2337 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_start() local
2359 if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) { in ahci_port_start()
2364 else if (hpriv->flags & AHCI_HFLAG_YES_FBS) { in ahci_port_start()
2421 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) { in ahci_port_start()
2435 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_stop() local
2436 void __iomem *host_mmio = hpriv->mmio; in ahci_port_stop()
2455 struct ahci_host_priv *hpriv = host->private_data; in ahci_print_info() local
2459 vers = hpriv->version; in ahci_print_info()
2460 cap = hpriv->cap; in ahci_print_info()
2461 cap2 = hpriv->cap2; in ahci_print_info()
2462 impl = hpriv->port_map; in ahci_print_info()
2525 void ahci_set_em_messages(struct ahci_host_priv *hpriv, in ahci_set_em_messages() argument
2529 void __iomem *mmio = hpriv->mmio; in ahci_set_em_messages()
2533 if (!ahci_em_messages || !(hpriv->cap & HOST_CAP_EMS)) in ahci_set_em_messages()
2540 hpriv->em_loc = ((em_loc >> 16) * 4); in ahci_set_em_messages()
2541 hpriv->em_buf_sz = ((em_loc & 0xff) * 4); in ahci_set_em_messages()
2542 hpriv->em_msg_type = messages; in ahci_set_em_messages()
2553 struct ahci_host_priv *hpriv = host->private_data; in ahci_host_activate_multi_irqs() local
2565 int irq = hpriv->get_irq_vector(host, i); in ahci_host_activate_multi_irqs()
2597 struct ahci_host_priv *hpriv = host->private_data; in ahci_host_activate() local
2598 int irq = hpriv->irq; in ahci_host_activate()
2601 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) { in ahci_host_activate()
2602 if (hpriv->irq_handler) in ahci_host_activate()
2605 if (!hpriv->get_irq_vector) { in ahci_host_activate()
2613 rc = ata_host_activate(host, irq, hpriv->irq_handler, in ahci_host_activate()