Lines Matching refs:uioap
577 uioainit(uio_t *uiop, uioa_t *uioap)
587 uioa_page_t *locked = uioap->uioa_locked;
591 if (! (uioap->uioa_state & UIOA_ALLOC)) {
607 uioap->uioa_hwst[UIO_DCOPY_CHANNEL] = channel;
608 uioap->uioa_hwst[UIO_DCOPY_CMD] = NULL;
611 uioap->uioa_state = UIOA_INIT;
613 uioap->uioa_mbytes = 0;
616 *((uio_t *)uioap) = *uiop;
623 uioap->uio_iov = iov;
624 uioap->uio_iovcnt = iovcnt;
626 /* Mark the uioap as such */
627 uioap->uio_extflg |= UIO_ASYNC;
686 uioap->uioa_lcur = uioap->uioa_locked;
687 uioap->uioa_lppp = uioap->uioa_lcur->uioa_ppp;
692 while (locked > uioap->uioa_locked) {
699 uioap->uioa_state = UIOA_ALLOC;
700 uioap->uioa_mbytes = 0;
706 * Finish processing of a uioa_t by cleanup any pending "uioap" actions.
709 uioafini(uio_t *uiop, uioa_t *uioap)
712 uioa_page_t *locked = uioap->uioa_locked;
718 ASSERT(uioap->uio_extflg & UIO_ASYNC);
720 if (!(uioap->uioa_state & (UIOA_ENABLED|UIOA_FINI))) {
725 channel = uioap->uioa_hwst[UIO_DCOPY_CHANNEL];
726 cmd = uioap->uioa_hwst[UIO_DCOPY_CMD];
730 if (uioap->uioa_state & UIOA_POLL) {
780 *uiop = *((uio_t *)uioap);
788 uioap->uioa_state = UIOA_ALLOC;
789 uioap->uioa_mbytes = 0;
791 uioap->uioa_hwst[UIO_DCOPY_CMD] = NULL;
792 uioap->uioa_hwst[UIO_DCOPY_CHANNEL] = NULL;