Lines Matching defs:bpage

153 static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage);
883 struct bounce_page *bpage;
885 while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
887 free_bounce_page(dmat, bpage);
972 struct bounce_page *bpage;
986 if ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
992 while (bpage != NULL) {
994 datavaddr = bpage->datavaddr;
997 bpage->datapage);
998 datavaddr = tempvaddr | bpage->dataoffs;
1002 (void *)bpage->vaddr, bpage->datacount);
1006 cpu_dcache_wb_range(bpage->vaddr,
1007 bpage->datacount);
1008 bpage = STAILQ_NEXT(bpage, links);
1012 while (bpage != NULL) {
1014 cpu_dcache_wbinv_range(bpage->vaddr,
1015 bpage->datacount);
1016 bpage = STAILQ_NEXT(bpage, links);
1021 while (bpage != NULL) {
1023 cpu_dcache_inv_range(bpage->vaddr,
1024 bpage->datacount);
1026 datavaddr = bpage->datavaddr;
1029 bpage->datapage);
1030 datavaddr = tempvaddr | bpage->dataoffs;
1033 bcopy((void *)bpage->vaddr,
1034 (void *)datavaddr, bpage->datacount);
1038 bpage = STAILQ_NEXT(bpage, links);
1174 struct bounce_page *bpage;
1176 bpage = (struct bounce_page *)malloc(sizeof(*bpage), M_DEVBUF,
1179 if (bpage == NULL)
1181 bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF,
1183 if (bpage->vaddr == 0) {
1184 free(bpage, M_DEVBUF);
1187 bpage->busaddr = pmap_kextract(bpage->vaddr);
1189 STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, links);
1224 struct bounce_page *bpage;
1240 bpage = STAILQ_FIRST(&bz->bounce_page_list);
1241 if (bpage == NULL)
1251 bpage->vaddr |= addr & PAGE_MASK;
1252 bpage->busaddr |= addr & PAGE_MASK;
1254 bpage->datavaddr = vaddr;
1255 bpage->datapage = PHYS_TO_VM_PAGE(addr);
1256 bpage->dataoffs = addr & PAGE_MASK;
1257 bpage->datacount = size;
1258 STAILQ_INSERT_TAIL(&(map->bpages), bpage, links);
1259 return (bpage->busaddr);
1263 free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage)
1269 bpage->datavaddr = 0;
1270 bpage->datacount = 0;
1277 bpage->vaddr &= ~PAGE_MASK;
1278 bpage->busaddr &= ~PAGE_MASK;
1282 STAILQ_INSERT_HEAD(&bz->bounce_page_list, bpage, links);