Lines Matching defs:bpage

149 static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage);
879 struct bounce_page *bpage;
886 while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
888 free_bounce_page(dmat, bpage);
895 struct bounce_page *bpage;
897 if ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
907 while (bpage != NULL) {
908 if (bpage->datavaddr != 0)
909 bcopy((void *)bpage->datavaddr,
910 (void *)bpage->vaddr,
911 bpage->datacount);
913 physcopyout(bpage->dataaddr,
914 (void *)bpage->vaddr,
915 bpage->datacount);
916 bpage = STAILQ_NEXT(bpage, links);
922 while (bpage != NULL) {
923 if (bpage->datavaddr != 0)
924 bcopy((void *)bpage->vaddr,
925 (void *)bpage->datavaddr,
926 bpage->datacount);
928 physcopyin((void *)bpage->vaddr,
929 bpage->dataaddr, bpage->datacount);
930 bpage = STAILQ_NEXT(bpage, links);
1046 struct bounce_page *bpage;
1048 bpage = (struct bounce_page *)malloc(sizeof(*bpage), M_DEVBUF,
1051 if (bpage == NULL)
1053 bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF,
1058 if (bpage->vaddr == 0) {
1059 free(bpage, M_DEVBUF);
1062 bpage->busaddr = pmap_kextract(bpage->vaddr);
1064 STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, links);
1099 struct bounce_page *bpage;
1113 bpage = STAILQ_FIRST(&bz->bounce_page_list);
1114 if (bpage == NULL)
1124 bpage->vaddr |= addr & PAGE_MASK;
1125 bpage->busaddr |= addr & PAGE_MASK;
1127 bpage->datavaddr = vaddr;
1128 bpage->dataaddr = addr;
1129 bpage->datacount = size;
1130 STAILQ_INSERT_TAIL(&(map->bpages), bpage, links);
1131 return (bpage->busaddr);
1135 free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage)
1141 bpage->datavaddr = 0;
1142 bpage->datacount = 0;
1149 bpage->vaddr &= ~PAGE_MASK;
1150 bpage->busaddr &= ~PAGE_MASK;
1154 STAILQ_INSERT_HEAD(&bz->bounce_page_list, bpage, links);