dma-attrs.h revision 345911
1139804Simp/*- 230489Sphk * Copyright (c) 2010 Isilon Systems, Inc. 330489Sphk * Copyright (c) 2010 iX Systems, Inc. 430489Sphk * Copyright (c) 2010 Panasas, Inc. 530489Sphk * Copyright (c) 2013, 2014 Mellanox Technologies, Ltd. 630489Sphk * All rights reserved. 730489Sphk * 830489Sphk * Redistribution and use in source and binary forms, with or without 930489Sphk * modification, are permitted provided that the following conditions 1030489Sphk * are met: 1130489Sphk * 1. Redistributions of source code must retain the above copyright 1230489Sphk * notice unmodified, this list of conditions, and the following 1330489Sphk * disclaimer. 1430489Sphk * 2. Redistributions in binary form must reproduce the above copyright 1530489Sphk * notice, this list of conditions and the following disclaimer in the 1630489Sphk * documentation and/or other materials provided with the distribution. 1730489Sphk * 1830489Sphk * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 1930489Sphk * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 2030489Sphk * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2130489Sphk * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 2230489Sphk * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2330489Sphk * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2430489Sphk * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2530489Sphk * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2630489Sphk * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 2730489Sphk * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2830489Sphk * 2930489Sphk * $FreeBSD: stable/11/sys/compat/linuxkpi/common/include/linux/dma-attrs.h 345911 2019-04-05 11:08:35Z hselasky $ 3030489Sphk */ 3130489Sphk#ifndef _LINUX_DMA_ATTR_H_ 3230489Sphk#define _LINUX_DMA_ATTR_H_ 3330489Sphk 3430489Sphk#define DMA_ATTR_WRITE_BARRIER (1 << 0) 35116182Sobrien#define DMA_ATTR_WEAK_ORDERING (1 << 1) 36116182Sobrien#define DMA_ATTR_WRITE_COMBINE (1 << 2) 37116182Sobrien#define DMA_ATTR_NON_CONSISTENT (1 << 3) 3830489Sphk#define DMA_ATTR_NO_KERNEL_MAPPING (1 << 4) 3930489Sphk#define DMA_ATTR_SKIP_CPU_SYNC (1 << 5) 4060041Sphk#define DMA_ATTR_FORCE_CONTIGUOUS (1 << 6) 4144272Sbde#define DMA_ATTR_ALLOC_SINGLE_PAGES (1 << 7) 4265770Sbp#define DMA_ATTR_NO_WARN (1 << 8) 43147198Sssouhlal#define DMA_ATTR_PRIVILEGED (1 << 9) 4430489Sphk 45114216Skanstruct dma_attrs { 4631561Sbde unsigned long flags; 47178243Skib}; 4830743Sphk 4951068Salfred#define DEFINE_DMA_ATTRS(x) struct dma_attrs x = { } 50189539Smarcus 51248084Sattiliostatic inline void 52189539Smarcusinit_dma_attrs(struct dma_attrs *attrs) 5330492Sphk{ 5430489Sphk attrs->flags = 0; 55189539Smarcus} 5630743Sphk 5730489Sphk#endif /* _LINUX_DMA_ATTR_H_ */ 58193508Srwatson