• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/dma/

Lines Matching refs:iov

35 static int num_pages_spanned(struct iovec *iov)
38 ((PAGE_ALIGN((unsigned long)iov->iov_base + iov->iov_len) -
39 ((unsigned long)iov->iov_base & PAGE_MASK)) >> PAGE_SHIFT);
50 struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len)
66 iovec_len_used += iov[nr_iovecs].iov_len;
67 iovec_pages_used += num_pages_spanned(&iov[nr_iovecs]);
86 len -= iov[i].iov_len;
88 if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len))
91 page_list->nr_pages = num_pages_spanned(&iov[i]);
92 page_list->base_address = iov[i].iov_base;
102 (unsigned long) iov[i].iov_base,
145 * Each entry in iov array has corresponding entry in pinned_list->page_list.
146 * Using array indexing to keep iov[] and page_list[] in sync.
147 * Initial elements in iov array's iov->iov_len will be 0 if already copied into
149 * iov array length remaining guaranteed to be bigger than len.
151 dma_cookie_t dma_memcpy_to_iovec(struct dma_chan *chan, struct iovec *iov,
161 return memcpy_toiovec(iov, kdata, len);
168 while (!iov[iovec_idx].iov_len)
173 iov_byte_offset = ((unsigned long)iov[iovec_idx].iov_base & ~PAGE_MASK);
174 page_idx = (((unsigned long)iov[iovec_idx].iov_base & PAGE_MASK)
178 while (iov[iovec_idx].iov_len) {
180 copy = min_t(int, copy, iov[iovec_idx].iov_len);
194 iov[iovec_idx].iov_len -= copy;
195 iov[iovec_idx].iov_base += copy;
212 dma_cookie_t dma_memcpy_pg_to_iovec(struct dma_chan *chan, struct iovec *iov,
227 err = memcpy_toiovec(iov, vaddr + offset, len);
237 while (!iov[iovec_idx].iov_len)
242 iov_byte_offset = ((unsigned long)iov[iovec_idx].iov_base & ~PAGE_MASK);
243 page_idx = (((unsigned long)iov[iovec_idx].iov_base & PAGE_MASK)
247 while (iov[iovec_idx].iov_len) {
249 copy = min_t(int, copy, iov[iovec_idx].iov_len);
264 iov[iovec_idx].iov_len -= copy;
265 iov[iovec_idx].iov_base += copy;