Lines Matching refs:sge
134 if (!ipath_lkey_ok(qp, j ? &ss->sg_list[j - 1] : &ss->sge, in ipath_init_sge()
265 struct ipath_sge *sge; in ipath_ruc_loopback() local
328 sqp->s_sge.sge = wqe->sg_list[0]; in ipath_ruc_loopback()
370 qp->r_sge.sge = wqe->sg_list[0]; in ipath_ruc_loopback()
385 maddr = (atomic64_t *) qp->r_sge.sge.vaddr; in ipath_ruc_loopback()
387 *(u64 *) sqp->s_sge.sge.vaddr = in ipath_ruc_loopback()
390 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, in ipath_ruc_loopback()
399 sge = &sqp->s_sge.sge; in ipath_ruc_loopback()
403 if (len > sge->length) in ipath_ruc_loopback()
404 len = sge->length; in ipath_ruc_loopback()
405 if (len > sge->sge_length) in ipath_ruc_loopback()
406 len = sge->sge_length; in ipath_ruc_loopback()
408 ipath_copy_sge(&qp->r_sge, sge->vaddr, len); in ipath_ruc_loopback()
409 sge->vaddr += len; in ipath_ruc_loopback()
410 sge->length -= len; in ipath_ruc_loopback()
411 sge->sge_length -= len; in ipath_ruc_loopback()
412 if (sge->sge_length == 0) { in ipath_ruc_loopback()
414 *sge = *sqp->s_sge.sg_list++; in ipath_ruc_loopback()
415 } else if (sge->length == 0 && sge->mr != NULL) { in ipath_ruc_loopback()
416 if (++sge->n >= IPATH_SEGSZ) { in ipath_ruc_loopback()
417 if (++sge->m >= sge->mr->mapsz) in ipath_ruc_loopback()
419 sge->n = 0; in ipath_ruc_loopback()
421 sge->vaddr = in ipath_ruc_loopback()
422 sge->mr->map[sge->m]->segs[sge->n].vaddr; in ipath_ruc_loopback()
423 sge->length = in ipath_ruc_loopback()
424 sge->mr->map[sge->m]->segs[sge->n].length; in ipath_ruc_loopback()