dmai_flags
mp->dmai_flags &= PX_DMAI_FLAGS_PRESERVE;
if ((mp->dmai_flags & PX_DMAI_FLAGS_INUSE) == 0) {
mp->dmai_flags &= PX_DMAI_FLAGS_PRESERVE;
mp->dmai_flags);
mp->dmai_flags |= PX_DMAI_FLAGS_INUSE;
if (mp->dmai_flags & PX_DMAI_FLAGS_INUSE)
ASSERT((mp->dmai_flags & ~PX_DMAI_FLAGS_PRESERVE) == 0);
mp->dmai_flags |= PX_DMAI_FLAGS_INUSE;
mp->dmai_flags |= PX_DMAI_FLAGS_NOSYNC;
mp->dmai_flags |= PX_DMAI_FLAGS_PEER_ONLY;
mp->dmai_flags |= PX_DMAI_FLAGS_NOFASTLIMIT |
mp->dmai_flags |= PX_DMAI_FLAGS_NOFASTLIMIT;
mp->dmai_flags |= PX_DMAI_FLAGS_NOCTX;
mp->dmai_flags |= PX_DMAI_FLAGS_BYPASSREQ;
if ((mp->dmai_flags & PX_DMAI_FLAGS_BYPASSREQ) ||
mp->dmai_flags |= PX_DMAI_FLAGS_PEER_ONLY;
mp->dmai_flags |= PX_DMAI_FLAGS_NOSYSLIMIT |
mp->dmai_flags |= PX_DMAI_FLAGS_NOFASTLIMIT;
mp->dmai_flags |= PX_DMAI_FLAGS_NOCTX;
mp->dmai_flags |= PX_DMAI_FLAGS_PGPFN;
mp->dmai_flags |= PX_DMAI_FLAGS_PGPFN;
mp->dmai_flags |= PX_DMAI_FLAGS_PTP|PX_DMAI_FLAGS_PTP32;
mp->dmai_flags |= PX_DMAI_FLAGS_PTP|PX_DMAI_FLAGS_PTP64;
(mp->dmai_flags & PX_DMAI_FLAGS_MAP_BUFZONE) ?
mp->dmai_flags |= (mp->dmai_flags & PX_DMAI_FLAGS_BYPASSREQ) ?
mp->dmai_flags = 0;
mp->dmai_flags |= PX_DMAI_FLAGS_FASTTRACK;
mp->dmai_flags |= PX_DMAI_FLAGS_VMEMCACHE;
if (mp->dmai_flags & PX_DMAI_FLAGS_VMEMCACHE) {
if (mp->dmai_flags & PX_DMAI_FLAGS_FASTTRACK) {
if (mp->dmai_flags & PX_DMAI_FLAGS_VMEMCACHE) {
#define PX_HAS_NOFASTLIMIT(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_NOFASTLIMIT)
#define PX_HAS_NOSYSLIMIT(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_NOSYSLIMIT)
#define PX_DMA_ISPEERONLY(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PEER_ONLY)
#define PX_DMA_ISPGPFN(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PGPFN)
#define PX_DMA_TYPE(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_DMA_TYPE)
#define PX_DMA_ISPTP32(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PTP32)
#define PX_DMA_ISPTP64(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PTP64)
#define PX_DMA_USECTX(mp) (!(mp->dmai_flags & DMAI_FLAGS_NOCTX))
(((mp)->dmai_flags & PX_DMAI_FLAGS_REDZONE) ? 1 : 0)
(((mp)->dmai_flags & PX_DMAI_FLAGS_MAP_BUFZONE) ? 1 :0)
uint_t dmai_flags;
mp->dmai_flags |= (DMAI_FLAGS_INUSE | DMAI_FLAGS_MAPPED);
if (mp->dmai_flags & DMAI_FLAGS_INUSE)
ASSERT((mp->dmai_flags & ~DMAI_FLAGS_PRESERVE) == 0);
mp->dmai_flags |= DMAI_FLAGS_INUSE;
mp->dmai_flags |= DMAI_FLAGS_MAPPED;
mp->dmai_flags &= DMAI_FLAGS_PRESERVE;
if ((mp->dmai_flags & DMAI_FLAGS_INUSE) == 0) {
mp->dmai_flags &= ~DMAI_FLAGS_MAPPED;
mp->dmai_flags &= DMAI_FLAGS_PRESERVE;
mp->dmai_flags);
mp->dmai_flags |= DMAI_FLAGS_VMEMCACHE;
mp->dmai_flags |= DMAI_FLAGS_CONTEXT;
if (mp->dmai_flags & DMAI_FLAGS_FASTTRACK) {
if (mp->dmai_flags & DMAI_FLAGS_CONTEXT)
uint32_t fast_track = mp->dmai_flags & DMAI_FLAGS_FASTTRACK;
mp->dmai_flags |= DMAI_FLAGS_NOSYNC;
if (!(mp->dmai_flags & DMAI_FLAGS_INUSE)) {
if (mp->dmai_flags & DMAI_FLAGS_NOSYNC)
if (mp->dmai_flags & DMAI_FLAGS_CONTEXT && pci_sc_use_contexts)
mp->dmai_flags & DMAI_FLAGS_CONTEXT && pci_sc_use_contexts)
if ((mp->dmai_flags & DMAI_FLAGS_INUSE) == 0)
mp->dmai_flags |= DMAI_FLAGS_NOSYNC;
mp->dmai_flags = 0;
mp->dmai_flags |= DMAI_FLAGS_PEER_ONLY;
mp->dmai_flags |= DMAI_FLAGS_NOFASTLIMIT |
mp->dmai_flags |= DMAI_FLAGS_NOFASTLIMIT;
mp->dmai_flags |= DMAI_FLAGS_NOCTX;
mp->dmai_flags |= DMAI_FLAGS_BYPASSREQ;
mp->dmai_flags |= DMAI_FLAGS_PEER_ONLY;
mp->dmai_flags |= DMAI_FLAGS_NOSYSLIMIT |
mp->dmai_flags |= DMAI_FLAGS_NOFASTLIMIT;
mp->dmai_flags |= DMAI_FLAGS_NOCTX;
mp->dmai_flags |= mp->dmai_rflags & DMP_NOSYNC ? DMAI_FLAGS_NOSYNC : 0;
mp->dmai_flags |= DMAI_FLAGS_PGPFN;
mp->dmai_flags |= DMAI_FLAGS_RELOC;
mp->dmai_flags |= DMAI_FLAGS_PGPFN;
mp->dmai_flags |= DMAI_FLAGS_PEER_TO_PEER;
mp->dmai_flags |= (mp->dmai_flags & DMAI_FLAGS_BYPASSREQ) ?
mp->dmai_flags |= DMAI_FLAGS_CONTEXT;
mp->dmai_flags |= DMAI_FLAGS_FASTTRACK;
mp->dmai_flags |= DMAI_FLAGS_RELOC;
mp->dmai_flags |= DMAI_FLAGS_MAPPED;
mp->dmai_flags = DMAI_FLAGS_INUSE |
if (mp->dmai_flags & DMAI_FLAGS_CONTEXT) {
mp->dmai_flags &= ~DMAI_FLAGS_RELOC;
(mp->dmai_flags & DMAI_FLAGS_VMEMCACHE));
req_max_p->dur_flags = mp->dmai_flags & DMAI_FLAGS_VMEMCACHE;
(mp->dmai_flags & DMAI_FLAGS_VMEMCACHE));
if (!(mp->dmai_flags & PX_DMAI_FLAGS_INUSE)) {
if (mp->dmai_flags & PX_DMAI_FLAGS_NOSYNC)
#define HAS_NOFASTLIMIT(mp) ((mp)->dmai_flags & DMAI_FLAGS_NOFASTLIMIT)
#define HAS_NOSYSLIMIT(mp) ((mp)->dmai_flags & DMAI_FLAGS_NOSYSLIMIT)
#define PCI_DMA_ISPEERONLY(mp) ((mp)->dmai_flags & DMAI_FLAGS_PEER_ONLY)
#define PCI_DMA_ISPGPFN(mp) ((mp)->dmai_flags & DMAI_FLAGS_PGPFN)
#define PCI_DMA_TYPE(mp) ((mp)->dmai_flags & DMAI_FLAGS_DMA_TYPE)
#define PCI_DMA_CANRELOC(mp) ((mp)->dmai_flags & DMAI_FLAGS_RELOC)
#define PCI_DMA_ISMAPPED(mp) ((mp)->dmai_flags & DMAI_FLAGS_MAPPED)
#define PCI_DMA_USECTX(mp) (!(mp->dmai_flags & DMAI_FLAGS_NOCTX))
uint_t dmai_flags;
if (!(mp->dmai_flags & PX_DMAI_FLAGS_INUSE)) {
if (mp->dmai_flags & PX_DMAI_FLAGS_NOSYNC)