Lines Matching refs:hpriv

243 	struct ahci_host_priv *hpriv = ap->host->private_data;
245 return sprintf(buf, "%x\n", hpriv->cap);
253 struct ahci_host_priv *hpriv = ap->host->private_data;
255 return sprintf(buf, "%x\n", hpriv->cap2);
263 struct ahci_host_priv *hpriv = ap->host->private_data;
265 return sprintf(buf, "%x\n", hpriv->version);
288 struct ahci_host_priv *hpriv = ap->host->private_data;
289 void __iomem *mmio = hpriv->mmio;
290 void __iomem *em_mmio = mmio + hpriv->em_loc;
301 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO)) {
314 em_mmio += hpriv->em_buf_sz;
316 count = hpriv->em_buf_sz;
324 hpriv->em_buf_sz, PAGE_SIZE);
348 struct ahci_host_priv *hpriv = ap->host->private_data;
349 void __iomem *mmio = hpriv->mmio;
350 void __iomem *em_mmio = mmio + hpriv->em_loc;
358 !(hpriv->em_msg_type & EM_MSG_TYPE_SGPIO) ||
359 size % 4 || size > hpriv->em_buf_sz)
391 struct ahci_host_priv *hpriv = ap->host->private_data;
392 void __iomem *mmio = hpriv->mmio;
409 * @hpriv: host private area to store config values
413 * initial values of those registers into @hpriv such that they
418 * If it is not set already this function sets hpriv->start_engine to
424 void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv)
426 void __iomem *mmio = hpriv->mmio;
436 hpriv->saved_cap = cap = readl(mmio + HOST_CAP);
437 hpriv->saved_port_map = port_map = readl(mmio + HOST_PORTS_IMPL);
443 hpriv->saved_cap2 = cap2 = readl(mmio + HOST_CAP2);
445 hpriv->saved_cap2 = cap2 = 0;
448 if ((cap & HOST_CAP_64) && (hpriv->flags & AHCI_HFLAG_32BIT_ONLY)) {
453 if ((cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_NO_NCQ)) {
458 if (!(cap & HOST_CAP_NCQ) && (hpriv->flags & AHCI_HFLAG_YES_NCQ)) {
463 if ((cap & HOST_CAP_PMP) && (hpriv->flags & AHCI_HFLAG_NO_PMP)) {
468 if ((cap & HOST_CAP_SNTF) && (hpriv->flags & AHCI_HFLAG_NO_SNTF)) {
474 if ((cap2 & HOST_CAP2_SDS) && (hpriv->flags & AHCI_HFLAG_NO_DEVSLP)) {
481 if (!(cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_YES_FBS)) {
486 if ((cap & HOST_CAP_FBS) && (hpriv->flags & AHCI_HFLAG_NO_FBS)) {
491 if (!(cap & HOST_CAP_ALPM) && (hpriv->flags & AHCI_HFLAG_YES_ALPM)) {
496 if ((cap & HOST_CAP_SXS) && (hpriv->flags & AHCI_HFLAG_NO_SXS)) {
501 if (hpriv->force_port_map && port_map != hpriv->force_port_map) {
503 port_map, hpriv->force_port_map);
504 port_map = hpriv->force_port_map;
505 hpriv->saved_port_map = port_map;
508 if (hpriv->mask_port_map) {
511 port_map & hpriv->mask_port_map);
512 port_map &= hpriv->mask_port_map;
540 hpriv->saved_port_map = port_map;
544 hpriv->cap = cap;
545 hpriv->cap2 = cap2;
546 hpriv->version = readl(mmio + HOST_VERSION);
547 hpriv->port_map = port_map;
549 if (!hpriv->start_engine)
550 hpriv->start_engine = ahci_start_engine;
552 if (!hpriv->stop_engine)
553 hpriv->stop_engine = ahci_stop_engine;
555 if (!hpriv->irq_handler)
556 hpriv->irq_handler = ahci_single_level_irq_intr;
571 struct ahci_host_priv *hpriv = host->private_data;
572 void __iomem *mmio = hpriv->mmio;
574 writel(hpriv->saved_cap, mmio + HOST_CAP);
575 if (hpriv->saved_cap2)
576 writel(hpriv->saved_cap2, mmio + HOST_CAP2);
577 writel(hpriv->saved_port_map, mmio + HOST_PORTS_IMPL);
590 struct ahci_host_priv *hpriv = ap->host->private_data;
593 (sc_reg != SCR_NOTIFICATION || (hpriv->cap & HOST_CAP_SNTF)))
638 struct ahci_host_priv *hpriv = ap->host->private_data;
647 if ((hpriv->flags & AHCI_HFLAG_WAKE_BEFORE_STOP) &&
687 struct ahci_host_priv *hpriv = ap->host->private_data;
692 if (hpriv->cap & HOST_CAP_64)
697 if (hpriv->cap & HOST_CAP_64)
733 struct ahci_host_priv *hpriv = ap->host->private_data;
740 if (hpriv->cap & HOST_CAP_SSS) {
753 struct ahci_host_priv *hpriv = ap->host->private_data;
772 if (hpriv->cap & HOST_CAP_ALPM) {
801 if ((hpriv->cap2 & HOST_CAP2_SDS) &&
802 (hpriv->cap2 & HOST_CAP2_SADM) &&
825 struct ahci_host_priv *hpriv = ap->host->private_data;
829 if (!(hpriv->cap & HOST_CAP_SSS))
846 struct ahci_host_priv *hpriv = ap->host->private_data;
857 if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE))
858 hpriv->start_engine(ap);
895 struct ahci_host_priv *hpriv = ap->host->private_data;
898 rc = hpriv->stop_engine(ap);
916 struct ahci_host_priv *hpriv = host->private_data;
917 void __iomem *mmio = hpriv->mmio;
954 if (!(hpriv->flags & AHCI_HFLAG_NO_WRITE_TO_RO))
1039 struct ahci_host_priv *hpriv = host->private_data;
1040 void __iomem *mmio = hpriv->mmio;
1055 struct ahci_host_priv *hpriv = ap->host->private_data;
1057 void __iomem *mmio = hpriv->mmio;
1085 if (hpriv->em_msg_type & EM_MSG_TYPE_LED) {
1096 writel(message[0], mmio + hpriv->em_loc);
1097 writel(message[1], mmio + hpriv->em_loc+4);
1204 struct ahci_host_priv *hpriv = ap->host->private_data;
1219 writel(1 << ap->port_no, hpriv->mmio + HOST_IRQ_STAT);
1226 struct ahci_host_priv *hpriv = ap->host->private_data;
1240 if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS))
1246 struct ahci_host_priv *hpriv = host->private_data;
1247 void __iomem *mmio = hpriv->mmio;
1272 struct ahci_host_priv *hpriv = dev->link->ap->host->private_data;
1274 if (hpriv->flags & AHCI_HFLAG_SECT255) {
1314 struct ahci_host_priv *hpriv = ap->host->private_data;
1320 rc = hpriv->stop_engine(ap);
1333 if (!(hpriv->cap & HOST_CAP_CLO)) {
1351 hpriv->start_engine(ap);
1400 struct ahci_host_priv *hpriv = ap->host->private_data;
1450 if (rc == -EBUSY && hpriv->flags & AHCI_HFLAG_SRST_TOUT_IS_OFFLINE) {
1552 struct ahci_host_priv *hpriv = ap->host->private_data;
1559 hpriv->stop_engine(ap);
1571 hpriv->start_engine(ap);
1709 struct ahci_host_priv *hpriv = ap->host->private_data;
1750 if (hpriv->flags & AHCI_HFLAG_IGN_IRQ_IF_ERR)
1763 if (hpriv->flags & AHCI_HFLAG_IGN_SERR_INTERNAL)
1823 struct ahci_host_priv *hpriv = ap->host->private_data;
1852 if (hpriv->cap & HOST_CAP_SNTF)
1958 struct ahci_host_priv *hpriv;
1963 hpriv = host->private_data;
1964 mmio = hpriv->mmio;
1971 irq_masked = irq_stat & hpriv->port_map;
2058 struct ahci_host_priv *hpriv = ap->host->private_data;
2059 void __iomem *mmio = hpriv->mmio;
2075 struct ahci_host_priv *hpriv = ap->host->private_data;
2079 hpriv->stop_engine(ap);
2080 hpriv->start_engine(ap);
2086 hpriv->stop_engine(ap);
2101 struct ahci_host_priv *hpriv = ap->host->private_data;
2140 rc = hpriv->stop_engine(ap);
2169 hpriv->start_engine(ap);
2181 struct ahci_host_priv *hpriv = ap->host->private_data;
2197 rc = hpriv->stop_engine(ap);
2210 hpriv->start_engine(ap);
2215 struct ahci_host_priv *hpriv = ap->host->private_data;
2230 rc = hpriv->stop_engine(ap);
2243 hpriv->start_engine(ap);
2328 struct ahci_host_priv *hpriv = ap->host->private_data;
2350 if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) {
2355 else if (hpriv->flags & AHCI_HFLAG_YES_FBS) {
2411 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) {
2425 struct ahci_host_priv *hpriv = ap->host->private_data;
2426 void __iomem *host_mmio = hpriv->mmio;
2445 struct ahci_host_priv *hpriv = host->private_data;
2449 vers = hpriv->version;
2450 cap = hpriv->cap;
2451 cap2 = hpriv->cap2;
2452 impl = hpriv->port_map;
2515 void ahci_set_em_messages(struct ahci_host_priv *hpriv,
2519 void __iomem *mmio = hpriv->mmio;
2523 if (!ahci_em_messages || !(hpriv->cap & HOST_CAP_EMS))
2530 hpriv->em_loc = ((em_loc >> 16) * 4);
2531 hpriv->em_buf_sz = ((em_loc & 0xff) * 4);
2532 hpriv->em_msg_type = messages;
2543 struct ahci_host_priv *hpriv = host->private_data;
2555 int irq = hpriv->get_irq_vector(host, i);
2587 struct ahci_host_priv *hpriv = host->private_data;
2588 int irq = hpriv->irq;
2591 if (hpriv->flags & AHCI_HFLAG_MULTI_MSI) {
2592 if (hpriv->irq_handler &&
2593 hpriv->irq_handler != ahci_single_level_irq_intr)
2596 if (!hpriv->get_irq_vector) {
2604 rc = ata_host_activate(host, irq, hpriv->irq_handler,