Lines Matching defs:dma_buff

187 	struct mpi3mr_ioctl_mpt_dma_buffer *dma_buff = dma_buffers;
202 for (count = 0; count < bufcnt; count++, dma_buff++) {
203 if ((dma_buff->data_dir == MPI3MR_APP_DDI) ||
204 (dma_buff->data_dir == MPI3MR_APP_DDO)) {
205 length = dma_buff->kern_buf_len;
209 if (!length || !dma_buff->num_dma_desc)
212 if (dma_buff->num_dma_desc == 1) {
228 if (available_sges < dma_buff->num_dma_desc)
232 size = dma_buff->num_dma_desc * sizeof(struct mpi3mr_nvme_pt_sge);
239 for (i = 0; i < dma_buff->num_dma_desc; i++) {
240 sgl_dma = htole64(dma_buff->dma_desc[i].dma_addr);
251 nvme_sgl->length = htole32(dma_buff->dma_desc[i].size);
273 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buff = dma_buffers;
313 for (count = 0; count < bufcnt; count++, dma_buff++) {
314 if ((dma_buff->data_dir == MPI3MR_APP_DDI) ||
315 (dma_buff->data_dir == MPI3MR_APP_DDO)) {
316 length = dma_buff->kern_buf_len;
320 if (!length || !dma_buff->num_dma_desc)
323 for (count = 0; count < dma_buff->num_dma_desc; count++) {
324 dma_addr = dma_buff->dma_desc[count].dma_addr;
332 dma_addr = dma_buff->dma_desc[0].dma_addr;
333 desc_len = dma_buff->dma_desc[0].size;
500 dma_buff->num_dma_desc) {
506 dma_buff->dma_desc[desc_count].dma_addr;
508 dma_buff->dma_desc[desc_count].size;
528 + * @dma_buff: buffer map descriptor
629 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buff = dma_buffers;
646 sgl_flags_last, dma_buff->kern_buf_len,
647 dma_buff->kern_buf_dma);
648 sgl = (U8 *) dma_buff->kern_buf + dma_buff->user_buf_len;
649 available_sges = (dma_buff->kern_buf_len -
650 dma_buff->user_buf_len) / sge_element_size;
654 dma_buff++;
658 sgl_flags_last, dma_buff->kern_buf_len,
659 dma_buff->kern_buf_dma);
660 dma_buff++;
686 for (; count < bufcnt; count++, dma_buff++) {
687 if ((dma_buff->data_dir == MPI3MR_APP_DDN) ||
688 !dma_buff->num_dma_desc)
691 dma_buff->dma_desc[0].size,
692 dma_buff->dma_desc[0].dma_addr);
700 for (; count < bufcnt; count++, dma_buff++) {
701 if (dma_buff->data_dir == MPI3MR_APP_DDN)
703 if (!dma_buff->num_dma_desc) {
719 for (; i < dma_buff->num_dma_desc; i++) {
726 if (i == (dma_buff->num_dma_desc - 1)) {
734 dma_buff->dma_desc[i].size,
735 dma_buff->dma_desc[i].dma_addr);
797 struct mpi3mr_ioctl_mpt_dma_buffer *dma_buffers = NULL, *dma_buff = NULL;
869 dma_buff = dma_buffers;
870 for (count = 0; count < bufcnt; count++, buf_entries++, dma_buff++) {
871 memset(dma_buff, 0, sizeof(*dma_buff));
872 dma_buff->user_buf = buf_entries->buffer;
873 dma_buff->user_buf_len = buf_entries->buf_len;
880 dma_buff->data_dir = MPI3MR_APP_DDO;
886 dma_buff->data_dir = MPI3MR_APP_DDI;
889 din_sz = dma_buff->user_buf_len;
893 dma_buff->data_dir = MPI3MR_APP_DDI;
896 dout_sz = dma_buff->user_buf_len;
900 dma_buff->data_dir = MPI3MR_APP_DDO;
904 dma_buff->data_dir = MPI3MR_APP_DDN;
910 dma_buff->data_dir = MPI3MR_APP_DDN;
955 dma_buff = dma_buffers;
956 for (count = 0; count < bufcnt; count++, dma_buff++) {
958 dma_buff->kern_buf_len = dma_buff->user_buf_len;
961 dma_buff->kern_buf = sc->ioctl_chain_sge.addr;
962 dma_buff->kern_buf_len = sc->ioctl_chain_sge.size;
963 dma_buff->kern_buf_dma = sc->ioctl_chain_sge.dma_addr;
964 dma_buff->dma_desc = NULL;
965 dma_buff->num_dma_desc = 0;
966 memset(dma_buff->kern_buf, 0, dma_buff->kern_buf_len);
967 tmplen = min(dma_buff->kern_buf_len, dma_buff->user_buf_len);
968 if (copyin(dma_buff->user_buf, dma_buff->kern_buf, tmplen)) {
975 dma_buff->kern_buf = sc->ioctl_resp_sge.addr;
976 dma_buff->kern_buf_len = sc->ioctl_resp_sge.size;
977 dma_buff->kern_buf_dma = sc->ioctl_resp_sge.dma_addr;
978 dma_buff->dma_desc = NULL;
979 dma_buff->num_dma_desc = 0;
980 memset(dma_buff->kern_buf, 0, dma_buff->kern_buf_len);
981 tmplen = min(dma_buff->kern_buf_len, dma_buff->user_buf_len);
982 dma_buff->kern_buf_len = tmplen;
984 if (!dma_buff->kern_buf_len)
986 if (mpi3mr_map_data_buffer_dma(sc, dma_buff, desc_count)) {
992 desc_count += dma_buff->num_dma_desc;
1107 dma_buff = &dma_buffers[mpirep_offset];
1108 dma_buff->kern_buf_len = (sizeof(*mpirepbuf) - 1 +
1110 mpirepbuf = malloc(dma_buff->kern_buf_len, M_MPI3MR, M_NOWAIT | M_ZERO);
1130 tmplen = min(dma_buff->kern_buf_len, dma_buff->user_buf_len);
1131 if (copyout(mpirepbuf, dma_buff->user_buf, tmplen)) {
1141 dma_buff = &dma_buffers[erb_offset];
1142 tmplen = min(erbsz, dma_buff->user_buf_len);
1143 if (copyout(kern_erb, dma_buff->user_buf, tmplen)) {
1151 dma_buff = dma_buffers;
1152 for (count = 0; count < bufcnt; count++, dma_buff++) {
1154 if (copyout(dma_buff->kern_buf, dma_buff->user_buf,dma_buff->kern_buf_len)) {
1160 } else if (dma_buff->data_dir == MPI3MR_APP_DDI) {
1162 for (desc_count = 0; desc_count < dma_buff->num_dma_desc; desc_count++) {
1163 if (copyout(dma_buff->dma_desc[desc_count].addr,
1164 (U8 *)dma_buff->user_buf+tmplen,
1165 dma_buff->dma_desc[desc_count].size)) {
1171 tmplen += dma_buff->dma_desc[desc_count].size;
1192 dma_buff = dma_buffers;
1193 for (count = 0; count < bufcnt; count++, dma_buff++) {
1194 free(dma_buff->dma_desc, M_MPI3MR);