Lines Matching full:iom
1784 static int rs_write_direct(struct rsocket *rs, struct rs_iomap *iom, uint64_t offset, in rs_write_direct() argument
1792 addr = iom->sge.addr + offset - iom->offset; in rs_write_direct()
1794 flags, addr, iom->sge.key); in rs_write_direct()
2536 struct rs_iomap iom; in rs_send_iomaps() local
2554 iom.offset = iomr->offset; in rs_send_iomaps()
2555 iom.sge.addr = (uintptr_t) iomr->mr->addr; in rs_send_iomaps()
2556 iom.sge.length = iomr->mr->length; in rs_send_iomaps()
2557 iom.sge.key = iomr->mr->rkey; in rs_send_iomaps()
2559 iom.offset = bswap_64(iomr->offset); in rs_send_iomaps()
2560 iom.sge.addr = bswap_64((uintptr_t) iomr->mr->addr); in rs_send_iomaps()
2561 iom.sge.length = bswap_32(iomr->mr->length); in rs_send_iomaps()
2562 iom.sge.key = bswap_32(iomr->mr->rkey); in rs_send_iomaps()
2565 if (rs->sq_inline >= sizeof iom) { in rs_send_iomaps()
2566 sge.addr = (uintptr_t) &iom; in rs_send_iomaps()
2567 sge.length = sizeof iom; in rs_send_iomaps()
2570 } else if (rs_sbuf_left(rs) >= sizeof iom) { in rs_send_iomaps()
2571 memcpy((void *) (uintptr_t) rs->ssgl[0].addr, &iom, sizeof iom); in rs_send_iomaps()
2572 rs->ssgl[0].length = sizeof iom; in rs_send_iomaps()
2574 if (rs_sbuf_left(rs) > sizeof iom) in rs_send_iomaps()
2575 rs->ssgl[0].addr += sizeof iom; in rs_send_iomaps()
2580 memcpy((void *) (uintptr_t) rs->ssgl[0].addr, &iom, in rs_send_iomaps()
2582 rs->ssgl[1].length = sizeof iom - rs->ssgl[0].length; in rs_send_iomaps()
2583 memcpy(rs->sbuf, ((void *) &iom) + rs->ssgl[0].length, in rs_send_iomaps()
3864 struct rs_iomap *iom = NULL; in riowrite() local
3878 if (!iom || offset > iom->offset + iom->sge.length) { in riowrite()
3879 iom = rs_find_iomap(rs, offset); in riowrite()
3880 if (!iom) in riowrite()
3905 if (xfer_size > iom->offset + iom->sge.length - offset) in riowrite()
3906 xfer_size = iom->offset + iom->sge.length - offset; in riowrite()
3912 ret = rs_write_direct(rs, iom, offset, &sge, 1, in riowrite()
3917 ret = rs_write_direct(rs, iom, offset, rs->ssgl, 1, xfer_size, 0); in riowrite()
3928 ret = rs_write_direct(rs, iom, offset, rs->ssgl, 2, xfer_size, 0); in riowrite()