Lines Matching refs:hpriv

86 static void ahci_intel_pcs_quirk(struct pci_dev *pdev, struct ahci_host_priv *hpriv);
658 struct ahci_host_priv *hpriv) in ahci_pci_save_initial_config() argument
662 hpriv->saved_port_map = 1; in ahci_pci_save_initial_config()
670 if (hpriv->flags & AHCI_HFLAG_MV_PATA) { in ahci_pci_save_initial_config()
672 hpriv->mask_port_map = 0x3; in ahci_pci_save_initial_config()
674 hpriv->mask_port_map = 0xf; in ahci_pci_save_initial_config()
679 ahci_save_initial_config(&pdev->dev, hpriv); in ahci_pci_save_initial_config()
685 struct ahci_host_priv *hpriv = host->private_data; in ahci_pci_reset_controller() local
696 ahci_intel_pcs_quirk(pdev, hpriv); in ahci_pci_reset_controller()
703 struct ahci_host_priv *hpriv = host->private_data; in ahci_pci_init_controller() local
709 if (hpriv->flags & AHCI_HFLAG_MV_PATA) { in ahci_pci_init_controller()
714 port_mmio = __ahci_port_base(hpriv, mv); in ahci_pci_init_controller()
732 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_vt8251_hardreset() local
736 hpriv->stop_engine(ap); in ahci_vt8251_hardreset()
741 hpriv->start_engine(ap); in ahci_vt8251_hardreset()
754 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_p5wdh_hardreset() local
760 hpriv->stop_engine(ap); in ahci_p5wdh_hardreset()
770 hpriv->start_engine(ap); in ahci_p5wdh_hardreset()
815 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_avn_hardreset() local
822 hpriv->stop_engine(ap); in ahci_avn_hardreset()
854 hpriv->start_engine(ap); in ahci_avn_hardreset()
866 struct ahci_host_priv *hpriv = host->private_data; in ahci_pci_disable_interrupts() local
867 void __iomem *mmio = hpriv->mmio; in ahci_pci_disable_interrupts()
907 struct ahci_host_priv *hpriv = host->private_data; in ahci_pci_device_suspend() local
909 if (hpriv->flags & AHCI_HFLAG_NO_SUSPEND) { in ahci_pci_device_suspend()
1468 static void acer_sa5_271_workaround(struct ahci_host_priv *hpriv, in acer_sa5_271_workaround() argument
1484 if ((hpriv->saved_cap & 0xC734FF00) == 0xC734FF00) { in acer_sa5_271_workaround()
1485 hpriv->port_map = 0x7; in acer_sa5_271_workaround()
1486 hpriv->cap = 0xC734FF02; in acer_sa5_271_workaround()
1500 struct ahci_host_priv *hpriv; in ahci_thunderx_irq_handler() local
1506 hpriv = host->private_data; in ahci_thunderx_irq_handler()
1507 mmio = hpriv->mmio; in ahci_thunderx_irq_handler()
1513 irq_masked = irq_stat & hpriv->port_map; in ahci_thunderx_irq_handler()
1528 struct ahci_host_priv *hpriv) in ahci_remap_check() argument
1539 !(readl(hpriv->mmio + AHCI_VSCAP) & 1)) in ahci_remap_check()
1542 cap = readq(hpriv->mmio + AHCI_REMAP_CAP); in ahci_remap_check()
1546 if (readl(hpriv->mmio + ahci_remap_dcc(i)) in ahci_remap_check()
1551 hpriv->remapped_nvme++; in ahci_remap_check()
1554 if (!hpriv->remapped_nvme) in ahci_remap_check()
1558 hpriv->remapped_nvme); in ahci_remap_check()
1566 hpriv->flags |= AHCI_HFLAG_NO_MSI; in ahci_remap_check()
1575 struct ahci_host_priv *hpriv) in ahci_init_msi() argument
1579 if (hpriv->flags & AHCI_HFLAG_NO_MSI) in ahci_init_msi()
1591 if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) { in ahci_init_msi()
1592 hpriv->get_irq_vector = ahci_get_irq_vector; in ahci_init_msi()
1593 hpriv->flags |= AHCI_HFLAG_MULTI_MSI; in ahci_init_msi()
1618 struct ahci_host_priv *hpriv) in ahci_update_initial_lpm_policy() argument
1624 if (!(hpriv->flags & AHCI_HFLAG_USE_LPM_POLICY)) in ahci_update_initial_lpm_policy()
1634 if (hpriv->cap & HOST_CAP_PART) in ahci_update_initial_lpm_policy()
1636 else if (hpriv->cap & HOST_CAP_SSC) in ahci_update_initial_lpm_policy()
1645 static void ahci_intel_pcs_quirk(struct pci_dev *pdev, struct ahci_host_priv *hpriv) in ahci_intel_pcs_quirk() argument
1669 if ((tmp16 & hpriv->port_map) != hpriv->port_map) { in ahci_intel_pcs_quirk()
1670 tmp16 |= hpriv->port_map; in ahci_intel_pcs_quirk()
1680 struct ahci_host_priv *hpriv = host->private_data; in remapped_nvme_show() local
1682 return sysfs_emit(buf, "%u\n", hpriv->remapped_nvme); in remapped_nvme_show()
1693 struct ahci_host_priv *hpriv; in ahci_init_one() local
1765 hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL); in ahci_init_one()
1766 if (!hpriv) in ahci_init_one()
1768 hpriv->flags |= (unsigned long)pi.private_data; in ahci_init_one()
1773 hpriv->flags |= AHCI_HFLAG_NO_MSI; in ahci_init_one()
1777 hpriv->flags &= ~AHCI_HFLAG_IGN_SERR_INTERNAL; in ahci_init_one()
1781 hpriv->flags &= ~AHCI_HFLAG_32BIT_ONLY; in ahci_init_one()
1783 hpriv->mmio = pcim_iomap_table(pdev)[ahci_pci_bar]; in ahci_init_one()
1786 ahci_remap_check(pdev, ahci_pci_bar, hpriv); in ahci_init_one()
1794 hpriv->flags |= AHCI_HFLAG_NO_DEVSLP; in ahci_init_one()
1800 hpriv->flags |= AHCI_HFLAG_NO_SXS; in ahci_init_one()
1803 hpriv->irq_handler = ahci_thunderx_irq_handler; in ahci_init_one()
1807 ahci_pci_save_initial_config(pdev, hpriv); in ahci_init_one()
1810 if (hpriv->cap & HOST_CAP_NCQ) { in ahci_init_one()
1818 if (!(hpriv->flags & AHCI_HFLAG_NO_FPDMA_AA)) in ahci_init_one()
1830 if (hpriv->cap & HOST_CAP_PMP) in ahci_init_one()
1833 ahci_set_em_messages(hpriv, &pi); in ahci_init_one()
1848 hpriv->flags |= AHCI_HFLAG_NO_SUSPEND; in ahci_init_one()
1854 hpriv->flags |= AHCI_HFLAG_SRST_TOUT_IS_OFFLINE; in ahci_init_one()
1861 acer_sa5_271_workaround(hpriv, pdev); in ahci_init_one()
1868 n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map)); in ahci_init_one()
1873 host->private_data = hpriv; in ahci_init_one()
1875 if (ahci_init_msi(pdev, n_ports, hpriv) < 0) { in ahci_init_one()
1879 hpriv->irq = pci_irq_vector(pdev, 0); in ahci_init_one()
1881 if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss) in ahci_init_one()
1886 if (!(hpriv->cap & HOST_CAP_PART)) in ahci_init_one()
1889 if (!(hpriv->cap & HOST_CAP_SSC)) in ahci_init_one()
1892 if (!(hpriv->cap2 & HOST_CAP2_SDS)) in ahci_init_one()
1907 ap->em_message_type = hpriv->em_msg_type; in ahci_init_one()
1909 ahci_update_initial_lpm_policy(ap, hpriv); in ahci_init_one()
1912 if (!(hpriv->port_map & (1 << i))) in ahci_init_one()
1923 rc = ahci_configure_dma_masks(pdev, hpriv->cap & HOST_CAP_64); in ahci_init_one()