Lines Matching refs:xdrp
172 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_getrdmablk() local
173 struct clist *cle = *(xdrp->xp_rcl_next); in xdrrdma_getrdmablk()
197 (*conn) = xdrp->xp_conn; in xdrrdma_getrdmablk()
210 cle = *(xdrp->xp_rcl_next); in xdrrdma_getrdmablk()
220 if (cle->c_xdroff != (xdrp->xp_offp - xdrs->x_base)) in xdrrdma_getrdmablk()
249 xdrp->xp_rcl_next = &cle->c_next; in xdrrdma_getrdmablk()
305 xrdma_private_t *xdrp; in xdrrdma_create() local
314 xdrp = (xrdma_private_t *)kmem_zalloc(sizeof (xrdma_private_t), in xdrrdma_create()
316 xdrs->x_private = (caddr_t)xdrp; in xdrrdma_create()
317 xdrp->xp_offp = addr; in xdrrdma_create()
318 xdrp->xp_min_chunk = min_chunk; in xdrrdma_create()
319 xdrp->xp_flags = 0; in xdrrdma_create()
320 xdrp->xp_buf_size = size; in xdrrdma_create()
321 xdrp->xp_rcl = cl; in xdrrdma_create()
322 xdrp->xp_reply_chunk_len = 0; in xdrrdma_create()
323 xdrp->xp_reply_chunk_len_alt = 0; in xdrrdma_create()
330 xdrp->xp_rcl_next = &(cle->c_next); in xdrrdma_create()
332 xdrp->xp_rcl_next = &(xdrp->xp_rcl); in xdrrdma_create()
335 xdrp->xp_wcl = NULL; in xdrrdma_create()
337 xdrp->xp_conn = conn; in xdrrdma_create()
338 if (xdrp->xp_min_chunk != 0) in xdrrdma_create()
339 xdrp->xp_flags |= XDR_RDMA_CHUNK; in xdrrdma_create()
346 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_destroy() local
348 if (xdrp == NULL) in xdrrdma_destroy()
351 if (xdrp->xp_wcl) { in xdrrdma_destroy()
352 if (xdrp->xp_flags & XDR_RDMA_WLIST_REG) { in xdrrdma_destroy()
353 (void) clist_deregister(xdrp->xp_conn, xdrp->xp_wcl); in xdrrdma_destroy()
354 rdma_buf_free(xdrp->xp_conn, in xdrrdma_destroy()
355 &xdrp->xp_wcl->rb_longbuf); in xdrrdma_destroy()
357 clist_free(xdrp->xp_wcl); in xdrrdma_destroy()
360 if (xdrp->xp_rcl) { in xdrrdma_destroy()
361 if (xdrp->xp_flags & XDR_RDMA_RLIST_REG) { in xdrrdma_destroy()
362 (void) clist_deregister(xdrp->xp_conn, xdrp->xp_rcl); in xdrrdma_destroy()
363 rdma_buf_free(xdrp->xp_conn, in xdrrdma_destroy()
364 &xdrp->xp_rcl->rb_longbuf); in xdrrdma_destroy()
366 clist_free(xdrp->xp_rcl); in xdrrdma_destroy()
369 if (xdrp->xp_rcl_xdr) in xdrrdma_destroy()
370 xdrrdma_free_xdr_chunks(xdrp->xp_conn, xdrp->xp_rcl_xdr); in xdrrdma_destroy()
379 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_getint32() local
386 if (!xdrrdma_read_a_chunk(xdrs, &xdrp->xp_conn)) { in xdrrdma_getint32()
393 *int32p = (int32_t)ntohl((uint32_t)(*((int32_t *)(xdrp->xp_offp)))); in xdrrdma_getint32()
397 xdrp->xp_offp += sizeof (int32_t); in xdrrdma_getint32()
402 if (xdrp->xp_off != 0) { in xdrrdma_getint32()
403 xdrp->xp_off += sizeof (int32_t); in xdrrdma_getint32()
412 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_putint32() local
418 *(int32_t *)xdrp->xp_offp = (int32_t)htonl((uint32_t)(*int32p)); in xdrrdma_putint32()
419 xdrp->xp_offp += sizeof (int32_t); in xdrrdma_putint32()
432 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_getbytes() local
433 struct clist *cle = *(xdrp->xp_rcl_next); in xdrrdma_getbytes()
434 struct clist *cls = *(xdrp->xp_rcl_next); in xdrrdma_getbytes()
450 cle = *(xdrp->xp_rcl_next); in xdrrdma_getbytes()
452 if (xdrp->xp_off) { in xdrrdma_getbytes()
453 xpoff = xdrp->xp_off; in xdrrdma_getbytes()
455 xpoff = (xdrp->xp_offp - xdrs->x_base); in xdrrdma_getbytes()
481 xdrp->xp_rcl_next = &cle->c_next; in xdrrdma_getbytes()
506 if (xdrp->xp_conn == NULL) { in xdrrdma_getbytes()
511 status = clist_register(xdrp->xp_conn, &cl, in xdrrdma_getbytes()
530 status = RDMA_READ(xdrp->xp_conn, &cl, WAIT); in xdrrdma_getbytes()
532 status = RDMA_READ(xdrp->xp_conn, &cl, NOWAIT); in xdrrdma_getbytes()
552 xdrp->xp_conn, &cl, CLIST_REG_DST) != RDMA_SUCCESS) { in xdrrdma_getbytes()
566 (void) clist_deregister(xdrp->xp_conn, &cl); in xdrrdma_getbytes()
573 cle = *(xdrp->xp_rcl_next); in xdrrdma_getbytes()
585 bcopy(xdrp->xp_offp, addr, len); in xdrrdma_getbytes()
587 xdrp->xp_offp += len; in xdrrdma_getbytes()
589 if (xdrp->xp_off != 0) in xdrrdma_getbytes()
590 xdrp->xp_off += len; in xdrrdma_getbytes()
603 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_putbytes() local
614 if (xdrp->xp_flags & XDR_RDMA_CHUNK && in xdrrdma_putbytes()
615 ((xdrp->xp_min_chunk != 0 && in xdrrdma_putbytes()
616 len >= xdrp->xp_min_chunk) || in xdrrdma_putbytes()
619 int offset = xdrp->xp_offp - xdrs->x_base; in xdrrdma_putbytes()
627 *(xdrp->xp_rcl_next) = cle; in xdrrdma_putbytes()
628 xdrp->xp_rcl_next = &(cle->c_next); in xdrrdma_putbytes()
636 bcopy(addr, xdrp->xp_offp, len); in xdrrdma_putbytes()
637 xdrp->xp_offp += len; in xdrrdma_putbytes()
645 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_getpos() local
647 return ((uint_t)((uintptr_t)xdrp->xp_offp - (uintptr_t)xdrs->x_base)); in xdrrdma_getpos()
653 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_setpos() local
656 caddr_t lastaddr = xdrp->xp_offp + xdrs->x_handy; in xdrrdma_setpos()
662 xdrp->xp_offp = newaddr; in xdrrdma_setpos()
674 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_inline() local
675 struct clist *cle = *(xdrp->xp_rcl_next); in xdrrdma_inline()
683 cle->c_xdroff <= (xdrp->xp_offp - xdrs->x_base + len)) in xdrrdma_inline()
688 buf = (rpc_inline_t *)xdrp->xp_offp; in xdrrdma_inline()
692 if ((xdrs->x_handy < len) || (xdrp->xp_min_chunk != 0 && in xdrrdma_inline()
693 len >= xdrp->xp_min_chunk)) { in xdrrdma_inline()
697 xdrp->xp_offp += len; in xdrrdma_inline()
708 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_control() local
726 (*((int32_t *)(xdrp->xp_offp)))); in xdrrdma_control()
738 xdrp->xp_offp += len; in xdrrdma_control()
750 xdrp->xp_flags |= in_flags; in xdrrdma_control()
759 *int32p = (int32_t)xdrp->xp_flags; in xdrrdma_control()
764 rcilp->rcil_len = xdrp->xp_reply_chunk_len; in xdrrdma_control()
765 rcilp->rcil_len_alt = xdrp->xp_reply_chunk_len_alt; in xdrrdma_control()
780 xdrp->xp_reply_chunk_len_alt += rcip->rci_len; in xdrrdma_control()
783 xdrp->xp_min_chunk) { in xdrrdma_control()
784 xdrp->xp_wcl = NULL; in xdrrdma_control()
816 xdrp->xp_wcl = first; in xdrrdma_control()
827 xdrp->xp_reply_chunk_len_alt += rcip->rci_len; in xdrrdma_control()
829 xdrp->xp_wcl = rwl; in xdrrdma_control()
835 xdrp->xp_reply_chunk_len += rcip->rci_len; in xdrrdma_control()
841 *((struct clist **)info) = xdrp->xp_wcl; in xdrrdma_control()
845 xdrp->xp_wcl = (struct clist *)info; in xdrrdma_control()
849 *((struct clist **)info) = xdrp->xp_rcl; in xdrrdma_control()
855 rwcip->rwci_wlist = xdrp->xp_wcl; in xdrrdma_control()
856 rwcip->rwci_conn = xdrp->xp_conn; in xdrrdma_control()
962 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdr_getbufsize() local
964 return ((uint_t)xdrp->xp_buf_size); in xdr_getbufsize()
1376 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_send_read_data() local
1398 status = clist_register(xdrp->xp_conn, &fcl, CLIST_REG_SOURCE); in xdrrdma_send_read_data()
1476 status = clist_syncmem(xdrp->xp_conn, &fcl, CLIST_REG_SOURCE); in xdrrdma_send_read_data()
1481 status = RDMA_WRITE(xdrp->xp_conn, wrcl, WAIT); in xdrrdma_send_read_data()
1503 xrdma_private_t *xdrp = (xrdma_private_t *)(xdrs->x_private); in xdrrdma_read_a_chunk() local
1504 struct clist *cle = *(xdrp->xp_rcl_next); in xdrrdma_read_a_chunk()
1505 struct clist *rclp = xdrp->xp_rcl; in xdrrdma_read_a_chunk()
1527 if (xdrp->xp_off == 0) in xdrrdma_read_a_chunk()
1528 xdrp->xp_off = (xdrp->xp_offp - xdrs->x_base); in xdrrdma_read_a_chunk()
1530 if (cle == NULL || (cle->c_xdroff != xdrp->xp_off)) in xdrrdma_read_a_chunk()
1543 xdrp->xp_rcl_next = &cle->c_next; in xdrrdma_read_a_chunk()
1562 xdrp->xp_offp = rclp->rb_longbuf.addr; in xdrrdma_read_a_chunk()
1563 xdrs->x_base = xdrp->xp_offp; in xdrrdma_read_a_chunk()
1571 if (xdrp->xp_rcl_xdr) { in xdrrdma_read_a_chunk()
1573 clp = xdrp->xp_rcl_xdr; in xdrrdma_read_a_chunk()
1578 xdrp->xp_rcl_xdr = rclp; in xdrrdma_read_a_chunk()