Lines Matching +full:dma +full:- +full:capable
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
80 HOST_RESET = BIT(0), /* reset controller; self-clear */
89 HOST_CAP_PART = BIT(13), /* Partial state capable */
90 HOST_CAP_SSC = BIT(14), /* Slumber state capable */
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 */
113 PORT_LST_ADDR = 0x00, /* command list DMA addr */
114 PORT_LST_ADDR_HI = 0x04, /* command list DMA addr hi */
128 PORT_FBS = 0x40, /* FIS-based Switching */
137 PORT_IRQ_IF_NONFATAL = BIT(26), /* interface non-fatal error */
147 PORT_IRQ_DMAS_FIS = BIT(2), /* DMA Setup FIS rx'd */
168 PORT_CMD_FBSCP = BIT(22), /* FBS Capable Port */
172 PORT_CMD_HPCP = BIT(18), /* HotPlug Capable Port */
174 PORT_CMD_LIST_ON = BIT(15), /* cmd list DMA engine running */
175 PORT_CMD_FIS_ON = BIT(14), /* FIS DMA engine running */
176 PORT_CMD_FIS_RX = BIT(4), /* Enable FIS receive DMA engine */
180 PORT_CMD_START = BIT(0), /* Enable port DMA engine */
209 /* hpriv->flags bits */
230 error-handling stage) */
235 AHCI_HFLAG_MULTI_MSI = BIT(20), /* per-port MSI(-X) */
240 AHCI_HFLAG_WAKE_BEFORE_STOP = BIT(22), /* wake before DMA stop */
247 AHCI_HFLAG_43BIT_ONLY = BIT(27), /* 43bit DMA addr limit */
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 */
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()