FreeBSD kernel usb device Code
|
Go to the source code of this file.
Data Structures | |
struct | usb_port |
struct | usb_hub |
Macros | |
#define | USB_RESTART_MAX 5 |
Functions | |
void | usb_hs_bandwidth_alloc (struct usb_xfer *xfer) |
void | usb_hs_bandwidth_free (struct usb_xfer *xfer) |
void | usb_bus_port_set_device (struct usb_bus *bus, struct usb_port *up, struct usb_device *udev, uint8_t device_index) |
struct usb_device * | usb_bus_port_get_device (struct usb_bus *bus, struct usb_port *up) |
void | usb_needs_explore (struct usb_bus *bus, uint8_t do_probe) |
void | usb_needs_explore_all (void) |
void | usb_bus_power_update (struct usb_bus *bus) |
void | usb_bus_powerd (struct usb_bus *bus) |
void | uhub_root_intr (struct usb_bus *, const uint8_t *, uint8_t) |
usb_error_t | uhub_query_info (struct usb_device *, uint8_t *, uint8_t *) |
void | uhub_explore_handle_re_enumerate (struct usb_device *) |
void uhub_explore_handle_re_enumerate | ( | struct usb_device * | child | ) |
Definition at line 417 of file usb_hub.c.
References child, DPRINTF, UHF_PORT_ENABLE, usb_get_langid(), USB_IFACE_INDEX_ANY, USB_MODE_HOST, usb_probe_and_attach(), USB_RE_ENUM_DONE, USB_RE_ENUM_PWR_OFF, USB_RE_ENUM_SET_CONFIG, USB_RE_ENUM_START, usb_set_device_strings(), USB_UNCONFIG_INDEX, usbd_enum_lock(), usbd_enum_unlock(), usbd_errstr(), usbd_req_clear_port_feature(), usbd_req_re_enumerate(), and usbd_set_config_index().
Referenced by uhub_explore_sub(), and usb_bus_explore().
usb_error_t uhub_query_info | ( | struct usb_device * | udev, |
uint8_t * | pnports, | ||
uint8_t * | ptt | ||
) |
Definition at line 1130 of file usb_hub.c.
References usb_device_descriptor::bDeviceClass, usb_hub_descriptor::bNbrPorts, usb_hub_ss_descriptor::bNbrPorts, usb_device::ddesc, usb_device::speed, UDCLASS_HUB, UGETW, USB_ERR_INVAL, USB_SPEED_FULL, USB_SPEED_HIGH, USB_SPEED_LOW, USB_SPEED_SUPER, usbd_errstr(), usbd_req_get_hub_descriptor(), usbd_req_get_ss_hub_descriptor(), and usb_hub_descriptor::wHubCharacteristics.
Referenced by xhci_device_state_change().
void uhub_root_intr | ( | struct usb_bus * | bus, |
const uint8_t * | ptr, | ||
uint8_t | len | ||
) |
Definition at line 960 of file usb_hub.c.
References usb_device::bus, USB_BUS_LOCK_ASSERT, and usb_needs_explore().
Referenced by atmegadci_root_intr(), avr32dci_root_intr(), dwc_otg_root_intr(), ehci_root_intr(), musbotg_root_intr(), ohci_root_intr(), uhci_root_intr(), uss820dci_root_intr(), and xhci_root_intr().
struct usb_device * usb_bus_port_get_device | ( | struct usb_bus * | bus, |
struct usb_port * | up | ||
) |
Definition at line 2193 of file usb_hub.c.
References usb_device::bus, usb_port::device_index, and usb_bus::devices.
Referenced by uhub_count_active_host_ports(), uhub_detach(), uhub_explore_sub(), uhub_find_iface_index(), uhub_reattach_port(), uhub_suspend_resume_port(), and usb_dev_suspend_peer().
void usb_bus_port_set_device | ( | struct usb_bus * | bus, |
struct usb_port * | up, | ||
struct usb_device * | udev, | ||
uint8_t | device_index | ||
) |
Definition at line 2212 of file usb_hub.c.
References usb_device::bus, usb_device::device_index, usb_port::device_index, usb_bus::devices, and usb_ref_lock.
Referenced by usb_alloc_device(), and usb_free_device().
void usb_bus_power_update | ( | struct usb_bus * | bus | ) |
Referenced by usb_handle_remote_wakeup(), usb_power_wdog(), and usbd_set_power_mode().
void usb_bus_powerd | ( | struct usb_bus * | bus | ) |
void usb_hs_bandwidth_alloc | ( | struct usb_xfer * | xfer | ) |
Definition at line 1908 of file usb_hub.c.
References usb_endpoint_descriptor::bmAttributes, usb_endpoint::edesc, usb_xfer::endpoint, usb_device::flags, usb_xfer::max_frame_size, usb_endpoint::refcount_bw, slot, usb_device::speed, usb_xfer_root::udev, UE_INTERRUPT, UE_ISOCHRONOUS, UE_XFERTYPE, usb_endpoint::usb_cmask, usb_hs_bandwidth_adjust(), USB_HS_MICRO_FRAMES_MAX, usb_device_flags::usb_mode, USB_MODE_HOST, usb_endpoint::usb_smask, USB_SPEED_FULL, USB_SPEED_LOW, usb_endpoint::usb_uframe, usbd_get_speed(), usbd_xfer_get_fps_shift(), and usb_xfer::xroot.
Referenced by ehci_device_intr_open(), and ehci_device_isoc_hs_open().
void usb_hs_bandwidth_free | ( | struct usb_xfer * | xfer | ) |
Definition at line 1989 of file usb_hub.c.
References usb_endpoint_descriptor::bmAttributes, usb_endpoint::edesc, usb_xfer::endpoint, usb_device::flags, usb_xfer::max_frame_size, usb_endpoint::refcount_bw, slot, usb_xfer_root::udev, UE_INTERRUPT, UE_ISOCHRONOUS, UE_XFERTYPE, usb_endpoint::usb_cmask, usb_hs_bandwidth_adjust(), usb_device_flags::usb_mode, USB_MODE_HOST, usb_endpoint::usb_smask, usb_endpoint::usb_uframe, and usb_xfer::xroot.
Referenced by ehci_device_intr_close(), and ehci_device_isoc_hs_close().
void usb_needs_explore | ( | struct usb_bus * | bus, |
uint8_t | do_probe | ||
) |
Definition at line 2255 of file usb_hub.c.
References usb_device::bus, usb_bus::bus_mtx, usb_bus::devices, usb_bus::do_probe, DPRINTF, usb_bus::explore_msg, USB_BUS_LOCK, USB_BUS_UNLOCK, usb_proc_msignal(), and USB_ROOT_HUB_ADDR.
Referenced by uhub_intr_callback(), uhub_root_intr(), usb_attach_sub(), usb_handle_request_callback(), usb_needs_explore_all(), usbd_set_power_mode(), usbd_start_re_enumerate(), and usbd_start_set_config().
void usb_needs_explore_all | ( | void | ) |
Definition at line 2300 of file usb_hub.c.
References bus, dev, usb_devclass_ptr, and usb_needs_explore().
Referenced by uhub_driver_added(), and usb_needs_explore_init().