Lines Matching defs:to_addr
149 struct sg_to_addr *to_addr;
236 static void prep_to_addr(struct sg_to_addr to_addr[],
242 to_addr[i].sg=&vb->dma.sglist[i];
243 to_addr[i].pos=pos;
248 static int get_addr_pos(int pos, int pages, struct sg_to_addr to_addr[])
253 BUG_ON (pos>=to_addr[p2].pos+to_addr[p2].sg->length);
256 if (pos < to_addr[p3].pos) {
263 if (pos >= to_addr[p2].pos)
271 static void gen_line(struct sg_to_addr to_addr[],int inipos,int pages,int wmax,
292 oldpg=get_addr_pos(pos,pages,to_addr);
293 pg=pfn_to_page(sg_dma_address(to_addr[oldpg].sg) >> PAGE_SHIFT);
295 basep = kmap_atomic(pg, KM_BOUNCE_READ)+to_addr[oldpg].sg->offset;
309 pgpos=get_addr_pos(pos,pages,to_addr);
311 pg=pfn_to_page(sg_dma_address(to_addr[pgpos].sg) >> PAGE_SHIFT);
313 basep= kmap_atomic(pg, KM_BOUNCE_READ)+to_addr[pgpos].sg->offset;
316 p=basep+pos-to_addr[pgpos].pos;
365 pgpos=get_addr_pos(pos,pages,to_addr);
368 to_addr[pgpos].sg)
374 to_addr[pgpos].sg->offset;
377 p=basep+pos-to_addr[pgpos].pos;
419 struct sg_to_addr *to_addr=buf->to_addr;
430 prep_to_addr(to_addr,vb);
445 gen_line(to_addr,pos,vb->dma.nr_pages,wmax,hmax,h,dev->timestr);
720 kfree(buf->to_addr);
721 buf->to_addr=NULL;
769 if (NULL == (buf->to_addr = kmalloc(sizeof(*buf->to_addr) * vb->dma.nr_pages,GFP_KERNEL))) {