Lines Matching refs:request
264 static inline void *smbdirect_send_io_payload(struct smbdirect_send_io *request) in smbdirect_send_io_payload() argument
266 return (void *)request->packet; in smbdirect_send_io_payload()
278 struct smbdirect_send_io *request = in send_done() local
280 struct smbdirect_socket *sc = request->socket; in send_done()
285 request, wc->status); in send_done()
287 for (i = 0; i < request->num_sge; i++) in send_done()
289 request->sge[i].addr, in send_done()
290 request->sge[i].length, in send_done()
296 mempool_free(request, sc->send_io.mem.pool); in send_done()
306 mempool_free(request, sc->send_io.mem.pool); in send_done()
698 struct smbdirect_send_io *request; in smbd_post_send_negotiate_req() local
701 request = mempool_alloc(sc->send_io.mem.pool, GFP_KERNEL); in smbd_post_send_negotiate_req()
702 if (!request) in smbd_post_send_negotiate_req()
705 request->socket = sc; in smbd_post_send_negotiate_req()
707 packet = smbdirect_send_io_payload(request); in smbd_post_send_negotiate_req()
717 request->num_sge = 1; in smbd_post_send_negotiate_req()
718 request->sge[0].addr = ib_dma_map_single( in smbd_post_send_negotiate_req()
721 if (ib_dma_mapping_error(sc->ib.dev, request->sge[0].addr)) { in smbd_post_send_negotiate_req()
726 request->sge[0].length = sizeof(*packet); in smbd_post_send_negotiate_req()
727 request->sge[0].lkey = sc->ib.pd->local_dma_lkey; in smbd_post_send_negotiate_req()
730 sc->ib.dev, request->sge[0].addr, in smbd_post_send_negotiate_req()
731 request->sge[0].length, DMA_TO_DEVICE); in smbd_post_send_negotiate_req()
733 request->cqe.done = send_done; in smbd_post_send_negotiate_req()
736 send_wr.wr_cqe = &request->cqe; in smbd_post_send_negotiate_req()
737 send_wr.sg_list = request->sge; in smbd_post_send_negotiate_req()
738 send_wr.num_sge = request->num_sge; in smbd_post_send_negotiate_req()
743 request->sge[0].addr, in smbd_post_send_negotiate_req()
744 request->sge[0].length, request->sge[0].lkey); in smbd_post_send_negotiate_req()
754 ib_dma_unmap_single(sc->ib.dev, request->sge[0].addr, in smbd_post_send_negotiate_req()
755 request->sge[0].length, DMA_TO_DEVICE); in smbd_post_send_negotiate_req()
760 mempool_free(request, sc->send_io.mem.pool); in smbd_post_send_negotiate_req()
804 struct smbdirect_send_io *request) in smbd_post_send() argument
811 for (i = 0; i < request->num_sge; i++) { in smbd_post_send()
814 i, request->sge[i].addr, request->sge[i].length); in smbd_post_send()
817 request->sge[i].addr, in smbd_post_send()
818 request->sge[i].length, in smbd_post_send()
822 request->cqe.done = send_done; in smbd_post_send()
825 send_wr.wr_cqe = &request->cqe; in smbd_post_send()
826 send_wr.sg_list = request->sge; in smbd_post_send()
827 send_wr.num_sge = request->num_sge; in smbd_post_send()
853 struct smbdirect_send_io *request; in smbd_post_send_iter() local
892 request = mempool_alloc(sc->send_io.mem.pool, GFP_KERNEL); in smbd_post_send_iter()
893 if (!request) { in smbd_post_send_iter()
898 request->socket = sc; in smbd_post_send_iter()
899 memset(request->sge, 0, sizeof(request->sge)); in smbd_post_send_iter()
906 .sge = request->sge, in smbd_post_send_iter()
919 request->num_sge = extract.nr_sge; in smbd_post_send_iter()
923 request->num_sge = 1; in smbd_post_send_iter()
927 packet = smbdirect_send_io_payload(request); in smbd_post_send_iter()
962 request->sge[0].addr = ib_dma_map_single(sc->ib.dev, in smbd_post_send_iter()
966 if (ib_dma_mapping_error(sc->ib.dev, request->sge[0].addr)) { in smbd_post_send_iter()
968 request->sge[0].addr = 0; in smbd_post_send_iter()
972 request->sge[0].length = header_length; in smbd_post_send_iter()
973 request->sge[0].lkey = sc->ib.pd->local_dma_lkey; in smbd_post_send_iter()
975 rc = smbd_post_send(info, request); in smbd_post_send_iter()
980 for (i = 0; i < request->num_sge; i++) in smbd_post_send_iter()
981 if (request->sge[i].addr) in smbd_post_send_iter()
983 request->sge[i].addr, in smbd_post_send_iter()
984 request->sge[i].length, in smbd_post_send_iter()
986 mempool_free(request, sc->send_io.mem.pool); in smbd_post_send_iter()