Lines Matching defs:bpage

199 static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage);
1221 struct bounce_page *bpage;
1225 while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
1227 free_bounce_page(dmat, bpage);
1321 struct bounce_page *bpage;
1334 if ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
1344 while (bpage != NULL) {
1346 datavaddr = bpage->datavaddr;
1349 bpage->datapage);
1350 datavaddr = tempvaddr | bpage->dataoffs;
1352 bcopy((void *)datavaddr, (void *)bpage->vaddr,
1353 bpage->datacount);
1356 dcache_wb_poc(bpage->vaddr, bpage->busaddr,
1357 bpage->datacount);
1358 bpage = STAILQ_NEXT(bpage, links);
1375 bpage = STAILQ_FIRST(&map->bpages);
1376 while (bpage != NULL) {
1377 dcache_inv_poc_dma(bpage->vaddr, bpage->busaddr,
1378 bpage->datacount);
1379 bpage = STAILQ_NEXT(bpage, links);
1393 while (bpage != NULL) {
1394 dcache_inv_poc(bpage->vaddr, bpage->busaddr,
1395 bpage->datacount);
1397 datavaddr = bpage->datavaddr;
1400 bpage->datapage);
1401 datavaddr = tempvaddr | bpage->dataoffs;
1403 bcopy((void *)bpage->vaddr, (void *)datavaddr,
1404 bpage->datacount);
1407 bpage = STAILQ_NEXT(bpage, links);
1556 struct bounce_page *bpage;
1558 bpage = (struct bounce_page *)malloc(sizeof(*bpage), M_BUSDMA,
1561 if (bpage == NULL)
1563 bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_BOUNCE,
1565 if (bpage->vaddr == 0) {
1566 free(bpage, M_BUSDMA);
1569 bpage->busaddr = pmap_kextract(bpage->vaddr);
1571 STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, links);
1606 struct bounce_page *bpage;
1621 bpage = STAILQ_FIRST(&bz->bounce_page_list);
1622 if (bpage == NULL)
1632 bpage->vaddr |= addr & PAGE_MASK;
1633 bpage->busaddr |= addr & PAGE_MASK;
1635 bpage->datavaddr = vaddr;
1636 bpage->datapage = PHYS_TO_VM_PAGE(addr);
1637 bpage->dataoffs = addr & PAGE_MASK;
1638 bpage->datacount = size;
1639 STAILQ_INSERT_TAIL(&(map->bpages), bpage, links);
1640 return (bpage->busaddr);
1644 free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage)
1650 bpage->datavaddr = 0;
1651 bpage->datacount = 0;
1658 bpage->vaddr &= ~PAGE_MASK;
1659 bpage->busaddr &= ~PAGE_MASK;
1663 STAILQ_INSERT_HEAD(&bz->bounce_page_list, bpage, links);