Lines Matching +full:fis +full:- +full:based

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * ahci.h - Common AHCI SATA definitions and declarations
6 * Please ALWAYS copy linux-ide@vger.kernel.org
9 * Copyright 2004-2005 Red Hat, Inc.
12 * as Documentation/driver-api/libata.rst
64 RX_FIS_PIO_SETUP = 0x20, /* offset of PIO Setup FIS data */
65 RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */
66 RX_FIS_SDB = 0x58, /* offset of SDB FIS data */
67 RX_FIS_UNK = 0x60, /* offset of Unknown FIS data */
80 HOST_RESET = BIT(0), /* reset controller; self-clear */
92 HOST_CAP_FBS = BIT(16), /* FIS-based switching support */
98 HOST_CAP_SSS = BIT(27), /* Staggered Spin-up */
102 HOST_CAP_64 = BIT(31), /* PCI DAC (64-bit DMA) support */
115 PORT_FIS_ADDR = 0x08, /* FIS rx buf addr */
116 PORT_FIS_ADDR_HI = 0x0c, /* FIS rx buf addr hi */
128 PORT_FBS = 0x40, /* FIS-based Switching */
137 PORT_IRQ_IF_NONFATAL = BIT(26), /* interface non-fatal error */
145 PORT_IRQ_UNK_FIS = BIT(4), /* unknown FIS rx'd */
146 PORT_IRQ_SDB_FIS = BIT(3), /* Set Device Bits FIS rx'd */
147 PORT_IRQ_DMAS_FIS = BIT(2), /* DMA Setup FIS rx'd */
148 PORT_IRQ_PIOS_FIS = BIT(1), /* PIO Setup FIS rx'd */
149 PORT_IRQ_D2H_REG_FIS = BIT(0), /* D2H Register FIS rx'd */
175 PORT_CMD_FIS_ON = BIT(14), /* FIS DMA engine running */
176 PORT_CMD_FIS_RX = BIT(4), /* Enable FIS receive DMA engine */
209 /* hpriv->flags bits */
230 error-handling stage) */
235 AHCI_HFLAG_MULTI_MSI = BIT(20), /* per-port MSI(-X) */
250 /* ap->flags bits */
271 EM_CTL_SES = BIT(18), /* SES-2 messages supported */
272 EM_CTL_SAFTE = BIT(17), /* SAF-TE messages supported */
277 EM_MSG_TYPE_SAFTE = BIT(1), /* SAF-TE */
278 EM_MSG_TYPE_SES2 = BIT(2), /* SES-2 */
322 int fbs_last_dev; /* save FBS.DEV of last FIS */
333 void __iomem * mmio; /* bus-independent mem map */
377 /* only required for per-port MSI(-X) support */
389 if (portid >= hpriv->nports) in ahci_ignore_port()
392 if (!hpriv->mask_port_map) in ahci_ignore_port()
394 return !(hpriv->mask_port_map & (1 << portid)); in ahci_ignore_port()
454 void __iomem *mmio = hpriv->mmio; in __ahci_port_base()
461 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_port_base()
463 return __ahci_port_base(hpriv, ap->port_no); in ahci_port_base()