Lines Matching refs:startsg
15 iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents, in iommu_fill_pdir() argument
20 struct scatterlist *dma_sg = startsg; /* pointer to current DMA */ in iommu_fill_pdir()
35 (unsigned long)sg_dma_address(startsg), cnt, in iommu_fill_pdir()
36 sg_virt(startsg), startsg->length in iommu_fill_pdir()
44 if (sg_dma_address(startsg) & PIDE_FLAG) { in iommu_fill_pdir()
45 u32 pide = sg_dma_address(startsg) & ~PIDE_FLAG; in iommu_fill_pdir()
51 dma_len = sg_dma_len(startsg); in iommu_fill_pdir()
52 sg_dma_len(startsg) = 0; in iommu_fill_pdir()
70 vaddr = (unsigned long)sg_virt(startsg); in iommu_fill_pdir()
71 sg_dma_len(dma_sg) += startsg->length; in iommu_fill_pdir()
72 size = startsg->length + dma_offset; in iommu_fill_pdir()
75 ioc->msg_pages += startsg->length >> IOVP_SHIFT; in iommu_fill_pdir()
84 startsg++; in iommu_fill_pdir()
102 struct scatterlist *startsg, int nents, in iommu_coalesce_chunks() argument
119 contig_sg = startsg; in iommu_coalesce_chunks()
120 dma_len = startsg->length; in iommu_coalesce_chunks()
121 dma_offset = startsg->offset; in iommu_coalesce_chunks()
124 sg_dma_address(startsg) = 0; in iommu_coalesce_chunks()
125 sg_dma_len(startsg) = 0; in iommu_coalesce_chunks()
134 prev_end = (unsigned long)sg_virt(startsg) + in iommu_coalesce_chunks()
135 startsg->length; in iommu_coalesce_chunks()
137 startsg++; in iommu_coalesce_chunks()
138 sg_start = (unsigned long)sg_virt(startsg); in iommu_coalesce_chunks()
141 sg_dma_address(startsg) = 0; in iommu_coalesce_chunks()
142 sg_dma_len(startsg) = 0; in iommu_coalesce_chunks()
149 if (unlikely(ALIGN(dma_len + dma_offset + startsg->length, IOVP_SIZE) > in iommu_coalesce_chunks()
163 dma_len += startsg->length; in iommu_coalesce_chunks()