• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/usr/drivers/usb/usb_manager/controller/ehci/

Lines Matching defs:page

88     struct usb_page *page;
90 /* get a free page or allocate a new one*/
92 page = usb_mem_page_alloc();
94 page = free_pages;
95 free_pages = page->next;
99 uint32_t num_qh = page->free.size / size_qh;
102 qh = page->free.buffer;
103 usb_paddr_t qh_self = page->free.phys_addr;
124 page->free.size -= (num_qh * size_qh);
125 page->free.buffer += (num_qh * size_qh);
126 page->free.phys_addr += (num_qh * size_qh);
128 /* put page into free list */
129 page->next = used_pages;
130 used_pages = page;
187 struct usb_page *page;
190 page = usb_mem_page_alloc();
192 page = free_pages;
193 free_pages = page->next;
197 uint32_t num_qtd = page->free.size / size_qtd;
199 qtd = page->free.buffer;
200 usb_paddr_t qtd_self = page->free.phys_addr;
215 page->free.size -= (num_qtd * size_qtd);
216 page->free.buffer += (num_qtd * size_qtd);
217 page->free.phys_addr += (num_qtd * size_qtd);
219 page->next = used_pages;
220 used_pages = page;
269 struct usb_page *page;
272 page = usb_mem_page_alloc();
274 page = free_pages;
275 free_pages = page->next;
279 uint32_t num_sitd = page->free.size / size_sitd;
281 sitd = page->free.buffer;
282 usb_paddr_t sitd_self = page->free.phys_addr;
297 page->free.size -= (num_sitd * size_sitd);
298 page->free.buffer += (num_sitd * size_sitd);
299 page->free.phys_addr += (num_sitd * size_sitd);
301 page->next = used_pages;
302 used_pages = page;
340 struct usb_page *page;
343 page = usb_mem_page_alloc();
345 page = free_pages;
346 free_pages = page->next;
350 uint32_t num_itd = page->free.size / size_itd;
352 itd = page->free.buffer;
353 usb_paddr_t itd_self = page->free.phys_addr;
368 page->free.size -= (num_itd * size_itd);
369 page->free.buffer += (num_itd * size_itd);
370 page->free.phys_addr += (num_itd * size_itd);
372 page->next = used_pages;
373 used_pages = page;
402 struct usb_page *page;
405 page = free_pages;
406 free_pages = page->next;
408 /* put it into the used page */
409 page->next = used_pages;
410 used_pages = page;
413 return (page->page.phys_addr);
416 page = usb_mem_page_alloc();
418 // page has to be 4k aligned
419 assert(!(page->page.phys_addr & 0xFFF));
421 page->next = used_pages;
422 used_pages = page;
424 return (page->page.phys_addr);
429 struct usb_page *page = used_pages;
430 struct usb_page *prev = page;
431 while (page->next != NULL) {
432 if (page->page.phys_addr == buf) {
435 prev = page;
436 page = page->next;
439 if (page->page.phys_addr != buf) {
440 /* page not found */
441 debug_printf("WARNING: freeing up a page that was not allocated");
445 if (prev == page) {
446 used_pages = page->next;
448 prev->next = page->next;
451 page->next = free_pages;
452 free_pages = page;
457 struct usb_page *page;
459 page = usb_mem_page_alloc();
461 assert(!(page->page.phys_addr % USB_EHCI_FRAMELIST_ALIGN));
463 hc->pframes = page->page.buffer;
464 hc->pframes_phys = page->page.phys_addr;
466 page->next = used_pages;
467 used_pages = page;