Lines Matching refs:hpriv

265 	struct ahci_host_priv *hpriv = ap->host->private_data;
267 return sprintf(buf, "%x\n", hpriv->cap);
275 struct ahci_host_priv *hpriv = ap->host->private_data;
277 return sprintf(buf, "%x\n", hpriv->cap2);
285 struct ahci_host_priv *hpriv = ap->host->private_data;
287 return sprintf(buf, "%x\n", hpriv->version);
310 struct ahci_host_priv *hpriv = ap->host->private_data;
311 void __iomem *mmio = hpriv->mmio;
312 void __iomem *em_mmio = mmio + hpriv->em_loc;
323 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO)) {
336 em_mmio += hpriv->em_buf_sz;
338 count = hpriv->em_buf_sz;
346 hpriv->em_buf_sz, PAGE_SIZE);
370 struct ahci_host_priv *hpriv = ap->host->private_data;
371 void __iomem *mmio = hpriv->mmio;
372 void __iomem *em_mmio = mmio + hpriv->em_loc;
380 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO) ||
381 size % 4 || size > hpriv->em_buf_sz)
413 struct ahci_host_priv *hpriv = ap->host->private_data;
414 void __iomem *mmio = hpriv->mmio;
431 * @hpriv: host private area to store config values
435 * initial values of those registers into @hpriv such that they
440 * If it is not set already this function sets hpriv->start_engine to
446 void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv)
448 void __iomem *mmio = hpriv->mmio;
468 if (hpriv->saved_cap)
469 cap = (cap & ~(HOST_CAP_SSS | HOST_CAP_MPS)) | hpriv->saved_cap;
470 hpriv->saved_cap = cap;
476 hpriv->saved_cap2 = cap2 = readl(mmio + HOST_CAP2);
478 hpriv->saved_cap2 = cap2 = 0;
481 if ((cap & HOST_CAP_64) && (hpriv->flags & AHCI_HFLAG_32BIT_ONLY)) {
486 if ((cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_NO_NCQ)) {
491 if (!(cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_YES_NCQ)) {
496 if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) {
501 if ((cap & HOST_CAP_SNTF) && (hpriv->flags & AHCI_HFLAG_NO_SNTF)) {
507 if ((cap2 & HOST_CAP2_SDS) && (hpriv->flags & AHCI_HFLAG_NO_DEVSLP)) {
514 if (!(cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_YES_FBS)) {
519 if ((cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_NO_FBS)) {
524 if (!(cap & HOST_CAP_ALPM) && (hpriv->flags & AHCI_HFLAG_YES_ALPM)) {
529 if ((cap & HOST_CAP_SXS) && (hpriv->flags & AHCI_HFLAG_NO_SXS)) {
536 if (hpriv->saved_port_map && port_map != hpriv->saved_port_map) {
538 port_map, hpriv->saved_port_map);
539 port_map = hpriv->saved_port_map;
541 hpriv->saved_port_map = port_map;
544 if (hpriv->mask_port_map) {
547 port_map & hpriv->mask_port_map);
548 port_map &= hpriv->mask_port_map;
576 hpriv->saved_port_map = port_map;
585 if (hpriv->saved_port_cap[i])
588 port_mmio = __ahci_port_base(hpriv, i);
589 hpriv->saved_port_cap[i] =
594 hpriv->cap = cap;
595 hpriv->cap2 = cap2;
596 hpriv->version = vers;
597 hpriv->port_map = port_map;
599 if (!hpriv->start_engine)
600 hpriv->start_engine = ahci_start_engine;
602 if (!hpriv->stop_engine)
603 hpriv->stop_engine = ahci_stop_engine;
605 if (!hpriv->irq_handler)
606 hpriv->irq_handler = ahci_single_level_irq_intr;
621 struct ahci_host_priv *hpriv = host->private_data;
622 unsigned long port_map = hpriv->port_map;
623 void __iomem *mmio = hpriv->mmio;
627 writel(hpriv->saved_cap, mmio + HOST_CAP);
628 if (hpriv->saved_cap2)
629 writel(hpriv->saved_cap2, mmio + HOST_CAP2);
630 writel(hpriv->saved_port_map, mmio + HOST_PORTS_IMPL);
634 port_mmio = __ahci_port_base(hpriv, i);
635 writel(hpriv->saved_port_cap[i], port_mmio + PORT_CMD);
648 struct ahci_host_priv *hpriv = ap->host->private_data;
651 (sc_reg != SCR_NOTIFICATION || (hpriv->cap & HOST_CAP_SNTF)))
696 struct ahci_host_priv *hpriv = ap->host->private_data;
705 if ((hpriv->flags & AHCI_HFLAG_WAKE_BEFORE_STOP) &&
745 struct ahci_host_priv *hpriv = ap->host->private_data;
750 if (hpriv->cap & HOST_CAP_64)
755 if (hpriv->cap & HOST_CAP_64)
791 struct ahci_host_priv *hpriv = ap->host->private_data;
798 if (hpriv->cap & HOST_CAP_SSS) {
811 struct ahci_host_priv *hpriv = ap->host->private_data;
830 if (hpriv->cap & HOST_CAP_ALPM) {
859 if ((hpriv->cap2 & HOST_CAP2_SDS) &&
860 (hpriv->cap2 & HOST_CAP2_SADM) &&
883 struct ahci_host_priv *hpriv = ap->host->private_data;
887 if (!(hpriv->cap & HOST_CAP_SSS))
904 struct ahci_host_priv *hpriv = ap->host->private_data;
915 if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE))
916 hpriv->start_engine(ap);
953 struct ahci_host_priv *hpriv = ap->host->private_data;
956 rc = hpriv->stop_engine(ap);
974 struct ahci_host_priv *hpriv = host->private_data;
975 void __iomem *mmio = hpriv->mmio;
1013 if (!(hpriv->flags & AHCI_HFLAG_NO_WRITE_TO_RO))
1096 struct ahci_host_priv *hpriv = host->private_data;
1097 void __iomem *mmio = hpriv->mmio;
1112 struct ahci_host_priv *hpriv = ap->host->private_data;
1114 void __iomem *mmio = hpriv->mmio;
1142 if (hpriv->em_msg_type & EM_MSG_TYPE_LED) {
1153 writel(message[0], mmio + hpriv->em_loc);
1154 writel(message[1], mmio + hpriv->em_loc+4);
1261 struct ahci_host_priv *hpriv = ap->host->private_data;
1276 writel(1 << ap->port_no, hpriv->mmio + HOST_IRQ_STAT);
1296 struct ahci_host_priv *hpriv = host->private_data;
1297 void __iomem *mmio = hpriv->mmio;
1322 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data;
1324 if (hpriv->flags & AHCI_HFLAG_SECT255) {
1364 struct ahci_host_priv *hpriv = ap->host->private_data;
1370 rc = hpriv->stop_engine(ap);
1383 if (!(hpriv->cap & HOST_CAP_CLO)) {
1401 hpriv->start_engine(ap);
1450 struct ahci_host_priv *hpriv = ap->host->private_data;
1499 if (rc == -EBUSY && hpriv->flags & AHCI_HFLAG_SRST_TOUT_IS_OFFLINE) {
1596 struct ahci_host_priv *hpriv = ap->host->private_data;
1601 hpriv->stop_engine(ap);
1613 hpriv->start_engine(ap);
1747 struct ahci_host_priv *hpriv = ap->host->private_data;
1788 if (hpriv->flags & AHCI_HFLAG_IGN_IRQ_IF_ERR)
1801 if (hpriv->flags & AHCI_HFLAG_IGN_SERR_INTERNAL)
1893 struct ahci_host_priv *hpriv = ap->host->private_data;
1925 if (hpriv->cap & HOST_CAP_SNTF)
2007 struct ahci_host_priv *hpriv;
2012 hpriv = host->private_data;
2013 mmio = hpriv->mmio;
2020 irq_masked = irq_stat & hpriv->port_map;
2201 struct ahci_host_priv *hpriv = ap->host->private_data;
2202 void __iomem *mmio = hpriv->mmio;
2218 struct ahci_host_priv *hpriv = ap->host->private_data;
2222 hpriv->stop_engine(ap);
2223 hpriv->start_engine(ap);
2229 hpriv->stop_engine(ap);
2244 struct ahci_host_priv *hpriv = ap->host->private_data;
2283 rc = hpriv->stop_engine(ap);
2312 hpriv->start_engine(ap);
2324 struct ahci_host_priv *hpriv = ap->host->private_data;
2340 rc = hpriv->stop_engine(ap);
2353 hpriv->start_engine(ap);
2358 struct ahci_host_priv *hpriv = ap->host->private_data;
2373 rc = hpriv->stop_engine(ap);
2386 hpriv->start_engine(ap);
2486 struct ahci_host_priv *hpriv = ap->host->private_data;
2508 if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) {
2513 else if (hpriv->flags & AHCI_HFLAG_YES_FBS) {
2569 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) {
2583 struct ahci_host_priv *hpriv = ap->host->private_data;
2584 void __iomem *host_mmio = hpriv->mmio;
2603 struct ahci_host_priv *hpriv = host->private_data;
2607 vers = hpriv->version;
2608 cap = hpriv->cap;
2609 cap2 = hpriv->cap2;
2610 impl = hpriv->port_map;
2679 void ahci_set_em_messages(struct ahci_host_priv *hpriv,
2683 void __iomem *mmio = hpriv->mmio;
2687 if (!ahci_em_messages || !(hpriv->cap & HOST_CAP_EMS))
2694 hpriv->em_loc = ((em_loc >> 16) * 4);
2695 hpriv->em_buf_sz = ((em_loc & 0xff) * 4);
2696 hpriv->em_msg_type = messages;
2707 struct ahci_host_priv *hpriv = host->private_data;
2719 int irq = hpriv->get_irq_vector(host, i);
2751 struct ahci_host_priv *hpriv = host->private_data;
2752 int irq = hpriv->irq;
2755 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) {
2756 if (hpriv->irq_handler &&
2757 hpriv->irq_handler != ahci_single_level_irq_intr)
2760 if (!hpriv->get_irq_vector) {
2768 rc = ata_host_activate(host, irq, hpriv->irq_handler,