• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/arch/mips/mm/

Lines Matching refs:sg

166 dma_sync_high(struct scatterlist *sg, enum dma_data_direction direction)
175 nr_pages = (sg->length + sg->offset + PAGE_SIZE - 1) >> PAGE_SHIFT;
176 length_remain = sg->length;
178 for (i = 0, offset = sg->offset; i < nr_pages; i++, offset = 0) {
179 tmp_page = nth_page(sg->page, i);
192 int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
199 for (i = 0; i < nents; i++, sg++) {
203 if (PageHighMem(sg->page)) {
204 dma_sync_high(sg, direction);
205 sg->dma_address = (page_to_pfn(sg->page) << PAGE_SHIFT) + sg->offset;
210 addr = (unsigned long) page_address(sg->page);
212 __dma_sync(addr + sg->offset, sg->length, direction);
213 sg->dma_address = plat_map_dma_mem(dev,
214 (void *)(addr + sg->offset),
215 sg->length);
258 void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
266 for (i = 0; i < nhwentries; i++, sg++) {
271 if (PageHighMem(sg->page)) {
272 dma_sync_high(sg, direction);
277 addr = (unsigned long) page_address(sg->page);
279 __dma_sync(addr + sg->offset, sg->length,
283 plat_unmap_dma_mem(sg->dma_address);
349 void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
357 for (i = 0; i < nelems; i++, sg++) {
359 __dma_sync((unsigned long)page_address(sg->page),
360 sg->length, direction);
361 plat_unmap_dma_mem(sg->dma_address);
367 void dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems,
375 for (i = 0; i < nelems; i++, sg++) {
377 __dma_sync((unsigned long)page_address(sg->page),
378 sg->length, direction);
379 plat_unmap_dma_mem(sg->dma_address);