FreeBSD kernel usb device Code
|
Go to the source code of this file.
Data Structures | |
struct | usb_bus_methods |
struct | usb_pipe_methods |
struct | usb_hw_ep_profile |
Macros | |
#define | USB_BUS_DMA_TAG_MAX 8 |
#define | USB_HW_POWER_CONTROL 0x01 |
#define | USB_HW_POWER_BULK 0x02 |
#define | USB_HW_POWER_INTERRUPT 0x04 |
#define | USB_HW_POWER_ISOC 0x08 |
#define | USB_HW_POWER_NON_ROOT_HUB 0x10 |
#define | USB_HW_POWER_SUSPEND 0x20 |
#define | USB_HW_POWER_RESUME 0x40 |
#define | USB_HW_POWER_SHUTDOWN 0x60 |
Typedefs | |
typedef void() | usb_bus_mem_sub_cb_t(struct usb_bus *bus, struct usb_page_cache *pc, struct usb_page *pg, usb_size_t size, usb_size_t align) |
typedef void() | usb_bus_mem_cb_t(struct usb_bus *bus, usb_bus_mem_sub_cb_t *scb) |
Functions | |
void | usb_bus_mem_flush_all (struct usb_bus *bus, usb_bus_mem_cb_t *cb) |
uint8_t | usb_bus_mem_alloc_all (struct usb_bus *bus, bus_dma_tag_t dmat, usb_bus_mem_cb_t *cb) |
void | usb_bus_mem_free_all (struct usb_bus *bus, usb_bus_mem_cb_t *cb) |
uint16_t | usb_isoc_time_expand (struct usb_bus *bus, uint16_t isoc_time_curr) |
void | usb_bus_reset_async_locked (struct usb_bus *bus) |
#define USB_BUS_DMA_TAG_MAX 8 |
Definition at line 34 of file usb_controller.h.
#define USB_HW_POWER_BULK 0x02 |
Definition at line 79 of file usb_controller.h.
#define USB_HW_POWER_CONTROL 0x01 |
Definition at line 74 of file usb_controller.h.
#define USB_HW_POWER_INTERRUPT 0x04 |
Definition at line 84 of file usb_controller.h.
#define USB_HW_POWER_ISOC 0x08 |
Definition at line 89 of file usb_controller.h.
#define USB_HW_POWER_NON_ROOT_HUB 0x10 |
Definition at line 94 of file usb_controller.h.
#define USB_HW_POWER_RESUME 0x40 |
Definition at line 102 of file usb_controller.h.
#define USB_HW_POWER_SHUTDOWN 0x60 |
Definition at line 106 of file usb_controller.h.
#define USB_HW_POWER_SUSPEND 0x20 |
Definition at line 98 of file usb_controller.h.
typedef void() usb_bus_mem_cb_t(struct usb_bus *bus, usb_bus_mem_sub_cb_t *scb) |
Definition at line 50 of file usb_controller.h.
typedef void() usb_bus_mem_sub_cb_t(struct usb_bus *bus, struct usb_page_cache *pc, struct usb_page *pg, usb_size_t size, usb_size_t align) |
Definition at line 49 of file usb_controller.h.
uint8_t usb_bus_mem_alloc_all | ( | struct usb_bus * | bus, |
bus_dma_tag_t | dmat, | ||
usb_bus_mem_cb_t * | cb | ||
) |
Definition at line 946 of file usb_controller.c.
References usb_bus::alloc_failed, usb_bus_msg::bus, usb_bus::bus_mtx, usb_bus::bus_spin_lock, usb_bus::devices, usb_bus::devices_max, usb_bus::dma_bits, usb_bus::intr_q, usb_bus::parent, usb_bus::power_wdog, USB_BUS_DMA_TAG_MAX, usb_bus_mem_free_all(), usb_callout_init_mtx, usb_dma_tag_setup(), USB_MAX_DEVICES, and USB_MIN_DEVICES.
Referenced by awusbdrd_attach(), dwc_otg_init(), ehci_msm_attach(), ehci_pci_attach(), fsl_ehci_attach(), generic_ehci_attach(), generic_ohci_attach(), imx_ehci_attach(), mv_ehci_attach(), ohci_pci_attach(), uhci_pci_attach(), and xhci_init().
void usb_bus_mem_flush_all | ( | struct usb_bus * | bus, |
usb_bus_mem_cb_t * | cb | ||
) |
Referenced by ehci_init(), ohci_init(), uhci_init(), and xhci_start_controller().
void usb_bus_mem_free_all | ( | struct usb_bus * | bus, |
usb_bus_mem_cb_t * | cb | ||
) |
Definition at line 1000 of file usb_controller.c.
References usb_bus_msg::bus, usb_bus::bus_mtx, usb_bus::bus_spin_lock, and usb_dma_tag_unsetup().
Referenced by awusbdrd_detach(), dwc_otg_detach(), ehci_msm_detach(), ehci_pci_detach(), generic_ehci_detach(), generic_ohci_detach(), imx_ehci_detach(), mv_ehci_detach(), ohci_pci_detach(), uhci_pci_detach(), usb_bus_mem_alloc_all(), and xhci_uninit().
void usb_bus_reset_async_locked | ( | struct usb_bus * | bus | ) |
Definition at line 309 of file usb_controller.c.
References bus, DPRINTF, USB_BUS_LOCK_ASSERT, and usb_proc_msignal().
Referenced by xhci_do_command().
uint16_t usb_isoc_time_expand | ( | struct usb_bus * | bus, |
uint16_t | isoc_time_curr | ||
) |
Definition at line 2037 of file usb_hub.c.
References usb_device::bus, usb_bus::isoc_time_last, USB_BUS_LOCK_ASSERT, and USB_ISOC_TIME_MAX.
Referenced by usbd_xfer_get_isochronous_start_frame().