Lines Matching refs:lm_file
204 struct pds_vfio_lm_file *lm_file)
213 if (!lm_file)
217 err = dma_map_sgtable(dev, &lm_file->sg_table, dir, 0);
221 lm_file->num_sge = lm_file->sg_table.nents;
224 sgl_size = lm_file->num_sge * sizeof(struct pds_lm_sg_elem);
233 for_each_sgtable_dma_sg(&lm_file->sg_table, sg, i) {
246 lm_file->sgl = sgl;
247 lm_file->sgl_addr = sgl_addr;
254 lm_file->num_sge = 0;
255 dma_unmap_sgtable(dev, &lm_file->sg_table, dir, 0);
261 struct pds_vfio_lm_file *lm_file)
263 if (!lm_file)
267 if (lm_file->sgl) {
268 dma_unmap_single(dev, lm_file->sgl_addr,
269 lm_file->num_sge * sizeof(*lm_file->sgl),
271 kfree(lm_file->sgl);
272 lm_file->sgl = NULL;
273 lm_file->sgl_addr = DMA_MAPPING_ERROR;
274 lm_file->num_sge = 0;
278 dma_unmap_sgtable(dev, &lm_file->sg_table, dir, 0);
292 struct pds_vfio_lm_file *lm_file;
297 lm_file = pds_vfio->save_file;
299 err = pds_vfio_dma_map_lm_file(pdsc_dev, DMA_FROM_DEVICE, lm_file);
306 cmd.lm_save.sgl_addr = cpu_to_le64(lm_file->sgl_addr);
307 cmd.lm_save.num_sge = cpu_to_le32(lm_file->num_sge);
314 pds_vfio_dma_unmap_lm_file(pdsc_dev, DMA_FROM_DEVICE, lm_file);
330 struct pds_vfio_lm_file *lm_file;
335 lm_file = pds_vfio->restore_file;
337 err = pds_vfio_dma_map_lm_file(pdsc_dev, DMA_TO_DEVICE, lm_file);
345 cmd.lm_restore.sgl_addr = cpu_to_le64(lm_file->sgl_addr);
346 cmd.lm_restore.num_sge = cpu_to_le32(lm_file->num_sge);
353 pds_vfio_dma_unmap_lm_file(pdsc_dev, DMA_TO_DEVICE, lm_file);