Lines Matching refs:dma_buffers

179 			      struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers, U8 bufcnt)  in mpi3mr_app_construct_nvme_sgl()  argument
187 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buff = dma_buffers; in mpi3mr_app_construct_nvme_sgl()
263 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers, U8 bufcnt) in mpi3mr_app_build_nvme_prp() argument
273 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buff = dma_buffers; in mpi3mr_app_build_nvme_prp()
541 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers, in mpi3mr_map_data_buffer_dma() argument
544 U16 i, needed_desc = (dma_buffers->kern_buf_len / MPI3MR_IOCTL_SGE_SIZE); in mpi3mr_map_data_buffer_dma()
545 U32 buf_len = dma_buffers->kern_buf_len, copied_len = 0; in mpi3mr_map_data_buffer_dma()
548 if (dma_buffers->kern_buf_len % MPI3MR_IOCTL_SGE_SIZE) in mpi3mr_map_data_buffer_dma()
557 dma_buffers->dma_desc = malloc(sizeof(*dma_buffers->dma_desc) * needed_desc, in mpi3mr_map_data_buffer_dma()
559 if (!dma_buffers->dma_desc) in mpi3mr_map_data_buffer_dma()
565 dma_buffers->dma_desc[i].addr = sc->ioctl_sge[desc_count].addr; in mpi3mr_map_data_buffer_dma()
566 dma_buffers->dma_desc[i].dma_addr = sc->ioctl_sge[desc_count].dma_addr; in mpi3mr_map_data_buffer_dma()
569 dma_buffers->dma_desc[i].size = buf_len; in mpi3mr_map_data_buffer_dma()
571 dma_buffers->dma_desc[i].size = sc->ioctl_sge[desc_count].size; in mpi3mr_map_data_buffer_dma()
573 buf_len -= dma_buffers->dma_desc[i].size; in mpi3mr_map_data_buffer_dma()
574 memset(dma_buffers->dma_desc[i].addr, 0, sc->ioctl_sge[desc_count].size); in mpi3mr_map_data_buffer_dma()
576 if (dma_buffers->data_dir == MPI3MR_APP_DDO) { in mpi3mr_map_data_buffer_dma()
577 error = copyin(((U8 *)dma_buffers->user_buf + copied_len), in mpi3mr_map_data_buffer_dma()
578 dma_buffers->dma_desc[i].addr, in mpi3mr_map_data_buffer_dma()
579 dma_buffers->dma_desc[i].size); in mpi3mr_map_data_buffer_dma()
582 copied_len += dma_buffers->dma_desc[i].size; in mpi3mr_map_data_buffer_dma()
587 free(dma_buffers->dma_desc, M_MPI3MR); in mpi3mr_map_data_buffer_dma()
591 dma_buffers->num_dma_desc = needed_desc; in mpi3mr_map_data_buffer_dma()
605 static inline U16 mpi3mr_total_num_ioctl_sges(struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers, in mpi3mr_total_num_ioctl_sges() argument
609 for (i=0; i < bufcnt; i++, dma_buffers++) { in mpi3mr_total_num_ioctl_sges()
610 if ((dma_buffers->data_dir == MPI3MR_APP_DDN) || in mpi3mr_total_num_ioctl_sges()
611 dma_buffers->kern_buf) in mpi3mr_total_num_ioctl_sges()
613 sge_count += dma_buffers->num_dma_desc; in mpi3mr_total_num_ioctl_sges()
614 if (!dma_buffers->num_dma_desc) in mpi3mr_total_num_ioctl_sges()
622 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers, in mpi3mr_app_construct_sgl() argument
629 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buff = dma_buffers; in mpi3mr_app_construct_sgl()
642 sges_needed = mpi3mr_total_num_ioctl_sges(dma_buffers, bufcnt); in mpi3mr_app_construct_sgl()
797 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers = NULL, *dma_buff = NULL; in mpi3mr_app_mptcmds() local
863 dma_buffers = malloc((sizeof(*dma_buffers) * bufcnt), M_MPI3MR, M_NOWAIT | M_ZERO); in mpi3mr_app_mptcmds()
864 if (!dma_buffers) { in mpi3mr_app_mptcmds()
871 dma_buff = dma_buffers; in mpi3mr_app_mptcmds()
957 dma_buff = dma_buffers; in mpi3mr_app_mptcmds()
1033 if (mpi3mr_app_construct_sgl(sc, mpi_request, (karg->mpi_msg_size * 4), dma_buffers, in mpi3mr_app_mptcmds()
1046 dma_buffers, bufcnt)) { in mpi3mr_app_mptcmds()
1053 dma_buffers, bufcnt)) { in mpi3mr_app_mptcmds()
1120 dma_buffers[mpirep_offset].user_buf_len) { in mpi3mr_app_mptcmds()
1121 dma_buff = &dma_buffers[mpirep_offset]; in mpi3mr_app_mptcmds()
1155 dma_buff = &dma_buffers[erb_offset]; in mpi3mr_app_mptcmds()
1165 dma_buff = dma_buffers; in mpi3mr_app_mptcmds()
1208 if (dma_buffers) { in mpi3mr_app_mptcmds()
1209 dma_buff = dma_buffers; in mpi3mr_app_mptcmds()
1213 free(dma_buffers, M_MPI3MR); in mpi3mr_app_mptcmds()