Lines Matching refs:drv_buf
2312 * @drv_buf: buffer map descriptor
2325 struct mpi3mr_buf_map *drv_buf,
2328 u16 i, needed_desc = drv_buf->kern_buf_len / MPI3MR_IOCTL_SGE_SIZE;
2329 u32 buf_len = drv_buf->kern_buf_len, copied_len = 0;
2331 if (drv_buf->kern_buf_len % MPI3MR_IOCTL_SGE_SIZE)
2338 drv_buf->dma_desc = kzalloc(sizeof(*drv_buf->dma_desc) * needed_desc,
2340 if (!drv_buf->dma_desc)
2343 drv_buf->dma_desc[i].addr = mrioc->ioctl_sge[desc_count].addr;
2344 drv_buf->dma_desc[i].dma_addr =
2347 drv_buf->dma_desc[i].size = buf_len;
2349 drv_buf->dma_desc[i].size =
2351 buf_len -= drv_buf->dma_desc[i].size;
2352 memset(drv_buf->dma_desc[i].addr, 0,
2354 if (drv_buf->data_dir == DMA_TO_DEVICE) {
2355 memcpy(drv_buf->dma_desc[i].addr,
2356 drv_buf->bsg_buf + copied_len,
2357 drv_buf->dma_desc[i].size);
2358 copied_len += drv_buf->dma_desc[i].size;
2361 drv_buf->num_dma_desc = needed_desc;