Lines Matching full:mark
25 * The peer has requested a mark.
30 int mark = 0; in scif_recv_mark() local
33 err = _scif_fence_mark(ep, &mark); in scif_recv_mark()
39 msg->payload[2] = mark; in scif_recv_mark()
336 static int _scif_fence_wait(scif_epd_t epd, int mark) in _scif_fence_wait() argument
339 dma_cookie_t cookie = mark & ~SCIF_REMOTE_FENCE; in _scif_fence_wait()
366 int mark, err; in scif_rma_handle_remote_fences() local
378 mark = fence->msg.payload[2]; in scif_rma_handle_remote_fences()
379 err = _scif_fence_wait(ep, mark); in scif_rma_handle_remote_fences()
393 static int _scif_send_fence(scif_epd_t epd, int uop, int mark, int *out_mark) in _scif_send_fence() argument
414 msg.payload[2] = mark; in _scif_send_fence()
452 * @out_mark: Output DMA mark reported by peer.
454 * Send a remote fence mark request.
464 * @mark: DMA mark to wait for.
468 static int scif_send_fence_wait(scif_epd_t epd, int mark) in scif_send_fence_wait() argument
470 return _scif_send_fence(epd, SCIF_WAIT, mark, NULL); in scif_send_fence_wait()
581 * Set up a mark for this endpoint and return the value of the mark.
583 int _scif_fence_mark(scif_epd_t epd, int *mark) in _scif_fence_mark() argument
616 *mark = cookie = tx->tx_submit(tx); in _scif_fence_mark()
630 int scif_fence_mark(scif_epd_t epd, int flags, int *mark) in scif_fence_mark() argument
636 "SCIFAPI fence_mark: ep %p flags 0x%x mark 0x%x\n", in scif_fence_mark()
637 ep, flags, *mark); in scif_fence_mark()
656 * Return a valid mark to be symmetric. in scif_fence_mark()
659 *mark = SCIF_LOOPB_MAGIC_MARK; in scif_fence_mark()
664 err = _scif_fence_mark(epd, mark); in scif_fence_mark()
666 err = scif_send_fence_mark(ep, mark); in scif_fence_mark()
672 "SCIFAPI fence_mark: ep %p flags 0x%x mark 0x%x err %d\n", in scif_fence_mark()
673 ep, flags, *mark, err); in scif_fence_mark()
678 int scif_fence_wait(scif_epd_t epd, int mark) in scif_fence_wait() argument
684 "SCIFAPI fence_wait: ep %p mark 0x%x\n", in scif_fence_wait()
685 ep, mark); in scif_fence_wait()
691 * The only valid mark provided is 0 so simply in scif_fence_wait()
692 * return success if the mark is valid. in scif_fence_wait()
695 if (mark == SCIF_LOOPB_MAGIC_MARK) in scif_fence_wait()
700 if (mark & SCIF_REMOTE_FENCE) in scif_fence_wait()
701 err = scif_send_fence_wait(epd, mark); in scif_fence_wait()
703 err = _scif_fence_wait(epd, mark); in scif_fence_wait()