1/* 2 * Copyright (c) 2007-2013 ETH Zurich. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10 11#ifndef USB_EHCI_MEMORY_H_ 12#define USB_EHCI_MEMORY_H_ 13 14 15typedef enum { 16 USB_EHCI_DS_32BIT, 17 USB_EHCI_DS_64BIT 18} usb_ds_size_t; 19 20void usb_ehci_set_datastruct_size(usb_ds_size_t size); 21void usb_ehci_print_datastruct_sizes(void); 22 23 24struct usb_ehci_qh *usb_ehci_qh_alloc(void); 25void usb_ehci_qh_free(struct usb_ehci_qh *qh); 26 27struct usb_ehci_qtd *usb_ehci_qtd_alloc(void); 28void usb_ehci_qtd_free(struct usb_ehci_qtd *qtd); 29 30struct usb_ehci_sitd *usb_ehci_sitd_alloc(void); 31void usb_ehci_sitd_free(struct usb_ehci_sitd *sitd); 32 33struct usb_ehci_itd *usb_ehci_itd_alloc(void); 34void usb_ehci_itd_free(struct usb_ehci_itd *itd); 35 36usb_paddr_t usb_ehci_buffer_page_alloc(void); 37void usb_ehci_buffer_page_free(usb_paddr_t buf); 38 39void usb_ehci_pframes_alloc(usb_ehci_hc_t *hc); 40 41 42#endif /* USB_EHCI_MEMORY_H_ */ 43