FreeBSD kernel usb device Code
|
#include <sys/stdint.h>
#include <sys/stddef.h>
#include <sys/param.h>
#include <sys/queue.h>
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/bus.h>
#include <sys/module.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/condvar.h>
#include <sys/sysctl.h>
#include <sys/sx.h>
#include <sys/unistd.h>
#include <sys/callout.h>
#include <sys/malloc.h>
#include <sys/priv.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usb_core.h>
#include <dev/usb/usb_debug.h>
#include <dev/usb/usb_busdma.h>
#include <dev/usb/usb_process.h>
#include <dev/usb/usb_transfer.h>
#include <dev/usb/usb_device.h>
#include <dev/usb/usb_hub.h>
#include <dev/usb/usb_util.h>
#include <dev/usb/usb_controller.h>
#include <dev/usb/usb_bus.h>
#include <dev/usb/controller/uss820dci.h>
Go to the source code of this file.
Macros | |
#define | USB_DEBUG_VAR uss820dcidebug |
#define | USS820_DCI_BUS2SC(bus) __containerof(bus, struct uss820dci_softc, sc_bus) |
#define | USS820_DCI_PC2SC(pc) USS820_DCI_BUS2SC(USB_DMATAG_TO_XROOT((pc)->tag_parent)->bus) |
#define | USS820_DCI_THREAD_IRQ (USS820_SSR_SUSPEND | USS820_SSR_RESUME | USS820_SSR_RESET) |
#define | USS820_DCI_INTR_ENDPT 1 |
#define | HSETW(ptr, val) ptr = { (uint8_t)(val), (uint8_t)((val) >> 8) } |
#define | STRING_VENDOR "A\0G\0E\0R\0E" |
#define | STRING_PRODUCT "D\0C\0I\0 \0R\0o\0o\0t\0 \0H\0U\0B" |
Variables | |
static const struct usb_bus_methods | uss820dci_bus_methods |
static const struct usb_pipe_methods | uss820dci_device_bulk_methods |
static const struct usb_pipe_methods | uss820dci_device_ctrl_methods |
static const struct usb_pipe_methods | uss820dci_device_intr_methods |
static const struct usb_pipe_methods | uss820dci_device_isoc_fs_methods |
static uss820dci_cmd_t | uss820dci_setup_rx |
static uss820dci_cmd_t | uss820dci_data_rx |
static uss820dci_cmd_t | uss820dci_data_tx |
static uss820dci_cmd_t | uss820dci_data_tx_sync |
static const struct usb_hw_ep_profile | uss820dci_ep_profile [] |
static const struct usb_device_descriptor | uss820dci_devd |
static const struct usb_device_qualifier | uss820dci_odevd |
static const struct uss820dci_config_desc | uss820dci_confd |
static const struct usb_hub_descriptor_min | uss820dci_hubd |
Definition at line 1800 of file uss820dci.c.
#define STRING_PRODUCT "D\0C\0I\0 \0R\0o\0o\0t\0 \0H\0U\0B" |
Definition at line 1815 of file uss820dci.c.
#define STRING_VENDOR "A\0G\0E\0R\0E" |
Definition at line 1812 of file uss820dci.c.
#define USB_DEBUG_VAR uss820dcidebug |
Definition at line 62 of file uss820dci.c.
#define USS820_DCI_BUS2SC | ( | bus | ) | __containerof(bus, struct uss820dci_softc, sc_bus) |
Definition at line 79 of file uss820dci.c.
#define USS820_DCI_INTR_ENDPT 1 |
Definition at line 97 of file uss820dci.c.
#define USS820_DCI_PC2SC | ( | pc | ) | USS820_DCI_BUS2SC(USB_DMATAG_TO_XROOT((pc)->tag_parent)->bus) |
Definition at line 82 of file uss820dci.c.
#define USS820_DCI_THREAD_IRQ (USS820_SSR_SUSPEND | USS820_SSR_RESUME | USS820_SSR_RESET) |
Definition at line 85 of file uss820dci.c.
USB_MAKE_STRING_DESC | ( | STRING_PRODUCT | , |
uss820dci_product | |||
) |
USB_MAKE_STRING_DESC | ( | STRING_VENDOR | , |
uss820dci_vendor | |||
) |
|
static |
Definition at line 1341 of file uss820dci.c.
References usb_endpoint_descriptor::bEndpointAddress, usb_endpoint_descriptor::bmAttributes, usb_device::bus, usb_endpoint::edesc, usb_device::flags, UE_ADDR, UE_DIR_IN, UE_DIR_OUT, UE_XFERTYPE, USB_BUS_LOCK_ASSERT, usb_device_flags::usb_mode, USB_MODE_DEVICE, USS820_DCI_BUS2SC, and uss820dci_clear_stall_sub().
|
static |
Definition at line 1289 of file uss820dci.c.
References uss820dci_softc::sc_bus, UE_CONTROL, UE_DIR_IN, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, USS820_EPCON, USS820_EPCON_RXIE, USS820_EPCON_RXSTL, USS820_EPCON_TXOE, USS820_EPCON_TXSTL, USS820_EPINDEX, USS820_READ_1, USS820_RXCON, USS820_RXCON_RXCLR, USS820_RXSTAT, USS820_RXSTAT_RXSOVW, USS820_TXCON, USS820_TXCON_TXCLR, USS820_TXSTAT, USS820_TXSTAT_TXSOVW, USS820_WRITE_1, and uss820dci_update_shared_1().
Referenced by uss820dci_clear_stall().
|
static |
Definition at line 374 of file uss820dci.c.
References usb_page_search::buffer, count, uss820dci_td::did_enable, uss820dci_td::ep_index, uss820dci_td::error, usb_page_search::length, uss820dci_td::max_packet_size, uss820dci_td::offset, uss820dci_td::pc, uss820dci_td::remainder, uss820dci_softc::sc_io_hdl, uss820dci_softc::sc_io_tag, uss820dci_td::short_pkt, usbd_get_page(), USS820_DCI_PC2SC, USS820_EPCON, USS820_EPCON_RXIE, USS820_EPINDEX, USS820_READ_1, USS820_REG_STRIDE, USS820_RXCNTH, USS820_RXCNTL, USS820_RXCON, USS820_RXCON_RXFFRC, USS820_RXDAT, USS820_RXFLG, USS820_RXFLG_RXFIF0, USS820_RXFLG_RXFIF1, USS820_RXFLG_RXOVF, USS820_RXFLG_RXURF, USS820_RXSTAT, USS820_RXSTAT_EDOVW, USS820_RXSTAT_RXSETUP, USS820_RXSTAT_RXSOVW, USS820_WRITE_1, and uss820dci_update_shared_1().
|
static |
Definition at line 499 of file uss820dci.c.
References usb_page_search::buffer, count, uss820dci_td::did_enable, uss820dci_td::ep_index, uss820dci_td::error, usb_page_search::length, uss820dci_td::max_packet_size, uss820dci_td::offset, uss820dci_td::pc, uss820dci_td::remainder, uss820dci_softc::sc_io_hdl, uss820dci_softc::sc_io_tag, uss820dci_td::short_pkt, uss820dci_td::support_multi_buffer, usbd_get_page(), USS820_DCI_PC2SC, USS820_EPCON, USS820_EPCON_TXOE, USS820_EPINDEX, USS820_READ_1, USS820_REG_STRIDE, USS820_RXSTAT, USS820_RXSTAT_EDOVW, USS820_RXSTAT_RXSETUP, USS820_RXSTAT_RXSOVW, USS820_TXCNTH, USS820_TXCNTL, USS820_TXDAT, USS820_TXFLG, USS820_TXFLG_TXFIF0, USS820_TXFLG_TXFIF1, USS820_TXFLG_TXOVF, USS820_TXFLG_TXURF, USS820_WRITE_1, and uss820dci_update_shared_1().
|
static |
Definition at line 604 of file uss820dci.c.
References uss820dci_td::ep_index, uss820dci_td::error, uss820dci_td::remainder, uss820dci_softc::sc_dv_addr, USS820_EPINDEX, USS820_READ_1, USS820_RXSTAT, USS820_RXSTAT_EDOVW, USS820_RXSTAT_RXSETUP, USS820_RXSTAT_RXSOVW, USS820_TXFLG, USS820_TXFLG_TXFIF0, USS820_TXFLG_TXFIF1, USS820_TXFLG_TXOVF, USS820_TXFLG_TXURF, USS820_WRITE_1, and uss820dci_set_address().
|
static |
Definition at line 1588 of file uss820dci.c.
References USB_ERR_CANCELLED, and uss820dci_device_done().
|
static |
Definition at line 1594 of file uss820dci.c.
|
static |
Definition at line 1582 of file uss820dci.c.
|
static |
Definition at line 1600 of file uss820dci.c.
References uss820dci_setup_standard_chain(), and uss820dci_start_standard_chain().
|
static |
Definition at line 1625 of file uss820dci.c.
References USB_ERR_CANCELLED, and uss820dci_device_done().
|
static |
Definition at line 1631 of file uss820dci.c.
|
static |
Definition at line 1619 of file uss820dci.c.
|
static |
Definition at line 1637 of file uss820dci.c.
References uss820dci_setup_standard_chain(), and uss820dci_start_standard_chain().
|
static |
Definition at line 1226 of file uss820dci.c.
References usb_xfer_root::bus, usb_xfer::endpoint, error, usb_xfer::flags_int, uss820dci_softc::sc_bus, USB_BUS_LOCK_ASSERT, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, usb_xfer_flags_int::usb_mode, USB_MODE_DEVICE, usbd_transfer_done(), USS820_DCI_BUS2SC, uss820dci_intr_set(), and usb_xfer::xroot.
Referenced by uss820dci_device_bulk_close(), uss820dci_device_ctrl_close(), uss820dci_device_intr_close(), uss820dci_device_isoc_fs_close(), uss820dci_standard_done(), uss820dci_timeout(), and uss820dci_xfer_stall().
|
static |
Definition at line 1662 of file uss820dci.c.
References USB_ERR_CANCELLED, and uss820dci_device_done().
|
static |
Definition at line 1668 of file uss820dci.c.
|
static |
Definition at line 1656 of file uss820dci.c.
|
static |
Definition at line 1674 of file uss820dci.c.
References uss820dci_setup_standard_chain(), and uss820dci_start_standard_chain().
|
static |
Definition at line 1699 of file uss820dci.c.
References USB_ERR_CANCELLED, and uss820dci_device_done().
|
static |
Definition at line 1705 of file uss820dci.c.
References usb_xfer_root::bus, usb_xfer::endpoint, usb_endpoint::isoc_next, usb_xfer::nframes, usbd_xfer_get_isochronous_start_frame(), USS820_DCI_BUS2SC, USS820_READ_1, USS820_SOFL, USS820_SOFL_MASK, uss820dci_setup_standard_chain(), and usb_xfer::xroot.
|
static |
Definition at line 1693 of file uss820dci.c.
|
static |
Definition at line 1726 of file uss820dci.c.
References uss820dci_start_standard_chain().
|
static |
Definition at line 1566 of file uss820dci.c.
References bus, uss820dci_softc::sc_bus, USB_BUS_LOCK, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, USB_BUS_UNLOCK, USS820_DCI_BUS2SC, uss820dci_interrupt_complete_locked(), and uss820dci_interrupt_poll_locked().
Referenced by uss820dci_init().
|
static |
Definition at line 2321 of file uss820dci.c.
References usb_device::address, usb_endpoint_descriptor::bEndpointAddress, usb_endpoint_descriptor::bmAttributes, usb_device::bus, usb_device::device_index, usb_device::flags, usb_endpoint::methods, uss820dci_softc::sc_rt_addr, usb_device::speed, UE_BULK, UE_CONTROL, UE_INTERRUPT, UE_ISOCHRONOUS, UE_XFERTYPE, usb_device_flags::usb_mode, USB_SPEED_FULL, USS820_DCI_BUS2SC, uss820dci_device_bulk_methods, uss820dci_device_ctrl_methods, uss820dci_device_intr_methods, and uss820dci_device_isoc_fs_methods.
int uss820dci_filter_interrupt | ( | void * | arg | ) |
Definition at line 750 of file uss820dci.c.
References uss820dci_softc::sc_bus, uss820dci_softc::sc_xfer_complete, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, USS820_DCI_THREAD_IRQ, USS820_READ_1, USS820_SSR, uss820dci_interrupt_poll_locked(), and uss820dci_update_shared_1().
|
static |
Definition at line 178 of file uss820dci.c.
References uss820dci_ep_profile.
Referenced by uss820dci_init(), and uss820dci_xfer_setup().
usb_error_t uss820dci_init | ( | struct uss820dci_softc * | sc | ) |
Definition at line 1369 of file uss820dci.c.
References usb_bus::bus_mtx, DPRINTF, uss820_flags::mcsr_feat, usb_bus::methods, n, pf, uss820dci_softc::sc_bus, uss820dci_softc::sc_flags, uss820_flags::status_vbus, USB_BUS_LOCK, USB_BUS_UNLOCK, USB_ERR_INVAL, usb_pause_mtx(), USB_REV_1_1, usb_bus::usbrev, USS820_EP_MAX, USS820_EPCON, USS820_EPCON_CTLEP, USS820_EPCON_RXEPEN, USS820_EPCON_RXIE, USS820_EPCON_RXSPM, USS820_EPCON_TXEPEN, USS820_EPCON_TXOE, USS820_EPINDEX, USS820_MCSR, USS820_MCSR_BDFEAT, USS820_MCSR_FEAT, USS820_MCSR_INIT, USS820_READ_1, USS820_REV, USS820_RXCON, USS820_SBIE, USS820_SBIE1, USS820_SCR, USS820_SCR_IE_RESET, USS820_SCR_IE_SUSP, USS820_SCR_IRQPOL, USS820_SCR_SRESET, USS820_SCR_T_IRQ, USS820_SCRATCH, USS820_SCRATCH_IE_RESUME, USS820_TXCON, USS820_TXCON_ATM, USS820_TXCON_FFSZ_16_64, USS820_TXCON_FFSZ_32_1024, USS820_TXCON_FFSZ_64_256, USS820_TXCON_FFSZ_8_512, USS820_TXCON_TXISO, USS820_WRITE_1, uss820dci_bus_methods, uss820dci_do_poll(), uss820dci_get_hw_ep_profile(), uss820dci_pull_down(), and uss820dci_update_shared_1().
void uss820dci_interrupt | ( | void * | arg | ) |
Definition at line 776 of file uss820dci.c.
References uss820_flags::change_connect, uss820_flags::change_suspend, DPRINTF, uss820dci_softc::sc_bus, uss820dci_softc::sc_flags, uss820dci_softc::sc_xfer_complete, uss820_flags::status_bus_reset, uss820_flags::status_suspend, USB_BUS_LOCK, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, USB_BUS_UNLOCK, USS820_DCI_THREAD_IRQ, USS820_READ_1, USS820_SBI, USS820_SBI1, USS820_SSR, USS820_SSR_RESET, USS820_SSR_RESUME, USS820_SSR_SUSPEND, uss820dci_interrupt_complete_locked(), uss820dci_root_intr(), uss820dci_update_shared_1(), and uss820dci_wait_suspend().
|
static |
Definition at line 718 of file uss820dci.c.
References usb_bus::intr_q, uss820dci_softc::sc_bus, and uss820dci_xfer_do_complete().
Referenced by uss820dci_do_poll(), and uss820dci_interrupt().
|
static |
Definition at line 709 of file uss820dci.c.
References usb_bus::intr_q, uss820dci_softc::sc_bus, and uss820dci_xfer_do_fifo().
Referenced by uss820dci_do_poll(), and uss820dci_filter_interrupt().
|
static |
Definition at line 1031 of file uss820dci.c.
References usb_xfer_root::bus, usb_xfer_flags_int::control_hdr, usb_xfer_flags_int::control_xfr, usb_xfer::endpointno, usb_xfer::flags_int, UE_ADDR, UE_DIR_IN, USS820_DCI_BUS2SC, USS820_READ_1, USS820_SBIE, USS820_SBIE1, USS820_WRITE_1, and usb_xfer::xroot.
Referenced by uss820dci_device_done(), and uss820dci_start_standard_chain().
|
static |
Definition at line 214 of file uss820dci.c.
References uss820_flags::d_pulled_up, DPRINTF, uss820dci_softc::sc_flags, USS820_MCSR, USS820_READ_1, and USS820_WRITE_1.
Referenced by uss820dci_init(), uss820dci_roothub_exec(), and uss820dci_uninit().
|
static |
Definition at line 195 of file uss820dci.c.
References uss820_flags::d_pulled_up, DPRINTF, uss820_flags::port_powered, uss820dci_softc::sc_flags, USS820_MCSR, USS820_MCSR_DPEN, USS820_READ_1, and USS820_WRITE_1.
Referenced by uss820dci_roothub_exec().
|
static |
Definition at line 1560 of file uss820dci.c.
Referenced by uss820dci_set_hw_power_sleep().
|
static |
Definition at line 1102 of file uss820dci.c.
References uss820dci_softc::sc_bus, uss820dci_softc::sc_hub_idata, uhub_root_intr(), and USB_BUS_LOCK_ASSERT.
Referenced by uss820dci_interrupt().
|
static |
Definition at line 1822 of file uss820dci.c.
References usb_device::bus, uss820_flags::change_connect, uss820_flags::change_suspend, index, len, uss820_flags::port_enabled, uss820_flags::port_powered, pptr, uss820_hub_temp::ps, req, uss820dci_softc::sc_bus, uss820dci_softc::sc_conf, uss820dci_softc::sc_flags, uss820dci_softc::sc_hub_temp, uss820dci_softc::sc_rt_addr, uss820_flags::status_bus_reset, uss820_flags::status_suspend, uss820_flags::status_vbus, UDESC_CONFIG, UDESC_DEVICE, UDESC_DEVICE_QUALIFIER, UDESC_STRING, UDS_SELF_POWERED, UF_DEVICE_REMOTE_WAKEUP, UF_ENDPOINT_HALT, UGETW, UHF_C_PORT_CONNECTION, UHF_C_PORT_ENABLE, UHF_C_PORT_OVER_CURRENT, UHF_C_PORT_RESET, UHF_C_PORT_SUSPEND, UHF_PORT_ENABLE, UHF_PORT_INDICATOR, UHF_PORT_POWER, UHF_PORT_RESET, UHF_PORT_SUSPEND, UHF_PORT_TEST, UPS_C_CONNECT_STATUS, UPS_C_SUSPEND, UPS_CURRENT_CONNECT_STATUS, UPS_PORT_ENABLED, UPS_PORT_MODE_DEVICE, UPS_PORT_POWER, UPS_SUSPEND, UR_CLEAR_FEATURE, UR_CLEAR_TT_BUFFER, UR_GET_CONFIG, UR_GET_DESCRIPTOR, UR_GET_INTERFACE, UR_GET_STATUS, UR_GET_TT_STATE, UR_RESET_TT, UR_SET_ADDRESS, UR_SET_CONFIG, UR_SET_DESCRIPTOR, UR_SET_FEATURE, UR_SET_INTERFACE, UR_STOP_TT, UR_SYNCH_FRAME, USB_BUS_LOCK_ASSERT, USB_ERR_IOERROR, USB_ERR_STALLED, usb_string_lang_en, USETW, USS820_DCI_BUS2SC, uss820dci_confd, uss820dci_devd, uss820dci_hubd, uss820dci_odevd, uss820dci_pull_down(), uss820dci_pull_up(), uss820dci_wakeup_peer(), UT_READ_CLASS_DEVICE, UT_READ_CLASS_INTERFACE, UT_READ_CLASS_OTHER, UT_READ_DEVICE, UT_READ_ENDPOINT, UT_READ_INTERFACE, UT_READ_VENDOR_INTERFACE, UT_WRITE_CLASS_DEVICE, UT_WRITE_CLASS_INTERFACE, UT_WRITE_CLASS_OTHER, UT_WRITE_DEVICE, UT_WRITE_ENDPOINT, UT_WRITE_INTERFACE, UT_WRITE_VENDOR_INTERFACE, value, usb_port_status::wPortChange, usb_port_status::wPortStatus, and uss820_hub_temp::wValue.
|
static |
Definition at line 241 of file uss820dci.c.
References addr, USS820_FADDR, and USS820_WRITE_1.
Referenced by uss820dci_data_tx_sync().
|
static |
Definition at line 2357 of file uss820dci.c.
References bus, state, USB_HW_POWER_RESUME, USB_HW_POWER_SHUTDOWN, USB_HW_POWER_SUSPEND, USS820_DCI_BUS2SC, uss820dci_resume(), uss820dci_suspend(), and uss820dci_uninit().
|
static |
Definition at line 1253 of file uss820dci.c.
References usb_endpoint_descriptor::bEndpointAddress, usb_endpoint_descriptor::bmAttributes, usb_device::bus, usb_endpoint::edesc, uss820dci_softc::sc_bus, UE_ADDR, UE_CONTROL, UE_DIR_IN, UE_DIR_OUT, UE_XFERTYPE, USB_BUS_LOCK_ASSERT, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, USS820_DCI_BUS2SC, USS820_EPCON, USS820_EPCON_RXSTL, USS820_EPCON_TXSTL, USS820_EPINDEX, USS820_WRITE_1, and uss820dci_update_shared_1().
|
static |
Definition at line 249 of file uss820dci.c.
References count, uss820dci_td::did_stall, DPRINTF, uss820dci_td::ep_index, uss820dci_td::offset, uss820dci_td::pc, uss820dci_td::remainder, req, uss820dci_softc::sc_dv_addr, uss820dci_softc::sc_io_hdl, uss820dci_softc::sc_io_tag, UR_SET_ADDRESS, usbd_copy_in(), USS820_EPCON, USS820_EPCON_RXIE, USS820_EPCON_RXSTL, USS820_EPCON_TXOE, USS820_EPCON_TXSTL, USS820_EPINDEX, USS820_READ_1, USS820_REG_STRIDE, USS820_RXCNTH, USS820_RXCNTL, USS820_RXCON, USS820_RXCON_RXFFRC, USS820_RXDAT, USS820_RXSTAT, USS820_RXSTAT_EDOVW, USS820_RXSTAT_RXSETUP, USS820_RXSTAT_STOVW, USS820_TXCON, USS820_TXCON_TXCLR, USS820_WRITE_1, uss820dci_update_shared_1(), and UT_WRITE_DEVICE.
|
static |
Definition at line 878 of file uss820dci.c.
References usb_xfer::address, usb_xfer_root::bus, usb_xfer_flags_int::control_act, usb_xfer_flags_int::control_hdr, usb_xfer_flags_int::control_stall, usb_xfer_flags_int::control_xfr, uss820_std_temp::did_stall, usb_xfer::endpointno, usb_xfer::flags, usb_xfer::flags_int, usb_xfer_flags::force_short_xfer, usb_xfer::frbuffers, usb_xfer::frlengths, uss820_std_temp::func, usb_xfer_flags_int::isochronous_xfr, uss820_std_temp::len, uss820_std_temp::max_frame_size, usb_xfer::max_frame_size, usb_xfer::nframes, uss820_std_temp::offset, uss820_std_temp::pc, uss820_std_temp::setup_alt_next, usb_xfer_flags_int::short_frames_ok, uss820_std_temp::short_pkt, usb_xfer::sumlen, uss820_std_temp::td, uss820_std_temp::td_next, usb_xfer::td_start, usb_xfer::td_transfer_cache, usb_xfer::td_transfer_first, usb_xfer::td_transfer_last, usb_xfer_root::udev, UE_ADDR, UE_DIR_IN, UE_GET_ADDR, usbd_get_speed(), USS820_DCI_BUS2SC, uss820dci_data_rx, uss820dci_data_tx, uss820dci_data_tx_sync, uss820dci_setup_rx, uss820dci_setup_standard_chain_sub(), and usb_xfer::xroot.
Referenced by uss820dci_device_bulk_start(), uss820dci_device_ctrl_start(), uss820dci_device_intr_start(), and uss820dci_device_isoc_fs_enter().
|
static |
Definition at line 854 of file uss820dci.c.
References uss820dci_td::alt_next, uss820dci_td::did_enable, uss820dci_td::did_stall, uss820_std_temp::did_stall, uss820dci_td::error, uss820dci_td::func, uss820_std_temp::func, uss820_std_temp::len, uss820dci_td::obj_next, uss820dci_td::offset, uss820_std_temp::offset, uss820dci_td::pc, uss820_std_temp::pc, uss820dci_td::remainder, uss820_std_temp::setup_alt_next, uss820dci_td::short_pkt, uss820_std_temp::short_pkt, uss820_std_temp::td, and uss820_std_temp::td_next.
Referenced by uss820dci_setup_standard_chain().
|
static |
Definition at line 1181 of file uss820dci.c.
References usb_xfer::aframes, usb_xfer_flags_int::control_act, usb_xfer_flags_int::control_hdr, usb_xfer_flags_int::control_xfr, usb_xfer::endpoint, usb_xfer::flags_int, usb_xfer::nframes, usb_xfer::td_transfer_cache, usb_xfer::td_transfer_first, uss820dci_device_done(), and uss820dci_standard_done_sub().
Referenced by uss820dci_xfer_do_complete().
|
static |
Definition at line 1116 of file uss820dci.c.
References usb_xfer::aframes, uss820dci_td::alt_next, uss820dci_td::error, error, usb_xfer::flags_int, usb_xfer::frlengths, usb_xfer_flags_int::isochronous_xfr, len, usb_xfer::nframes, uss820dci_td::obj_next, uss820dci_td::remainder, usb_xfer_flags_int::short_frames_ok, usb_xfer::td_transfer_cache, USB_ERR_NORMAL_COMPLETION, and USB_ERR_STALLED.
Referenced by uss820dci_standard_done().
|
static |
Definition at line 1070 of file uss820dci.c.
References usb_xfer_root::bus, usb_bus::intr_q, uss820dci_softc::sc_bus, usb_xfer::timeout, USB_BUS_SPIN_LOCK, USB_BUS_SPIN_UNLOCK, usbd_transfer_enqueue(), usbd_transfer_timeout_ms(), USS820_DCI_BUS2SC, uss820dci_intr_set(), uss820dci_timeout(), uss820dci_xfer_do_complete(), uss820dci_xfer_do_fifo(), and usb_xfer::xroot.
Referenced by uss820dci_device_bulk_start(), uss820dci_device_ctrl_start(), uss820dci_device_intr_start(), and uss820dci_device_isoc_fs_start().
|
static |
Definition at line 1554 of file uss820dci.c.
Referenced by uss820dci_set_hw_power_sleep().
|
static |
Definition at line 1018 of file uss820dci.c.
References usb_xfer_root::bus, DPRINTF, USB_BUS_LOCK_ASSERT, USB_ERR_TIMEOUT, uss820dci_device_done(), and usb_xfer::xroot.
Referenced by uss820dci_start_standard_chain().
void uss820dci_uninit | ( | struct uss820dci_softc * | sc | ) |
Definition at line 1531 of file uss820dci.c.
References uss820_flags::change_connect, uss820_flags::change_suspend, uss820_flags::port_powered, uss820dci_softc::sc_bus, uss820dci_softc::sc_flags, uss820_flags::status_bus_reset, uss820_flags::status_suspend, uss820_flags::status_vbus, USB_BUS_LOCK, USB_BUS_UNLOCK, USS820_READ_1, USS820_SCR, USS820_WRITE_1, and uss820dci_pull_down().
Referenced by uss820dci_set_hw_power_sleep().
|
static |
Definition at line 164 of file uss820dci.c.
References reg, USS820_PEND, USS820_READ_1, and USS820_WRITE_1.
Referenced by uss820dci_clear_stall_sub(), uss820dci_data_rx(), uss820dci_data_tx(), uss820dci_filter_interrupt(), uss820dci_init(), uss820dci_interrupt(), uss820dci_set_stall(), and uss820dci_setup_rx().
|
static |
Definition at line 729 of file uss820dci.c.
References USS820_READ_1, USS820_SCR, USS820_SCR_IE_SUSP, USS820_SCRATCH, USS820_SCRATCH_IE_RESUME, and USS820_WRITE_1.
Referenced by uss820dci_interrupt().
|
static |
Definition at line 232 of file uss820dci.c.
References uss820dci_softc::sc_flags, and uss820_flags::status_suspend.
Referenced by uss820dci_roothub_exec().
|
static |
Definition at line 693 of file uss820dci.c.
References usb_xfer::td_transfer_cache, and uss820dci_standard_done().
Referenced by uss820dci_interrupt_complete_locked(), and uss820dci_start_standard_chain().
|
static |
Definition at line 648 of file uss820dci.c.
References usb_xfer_root::bus, uss820dci_td::func, uss820dci_softc::sc_xfer_complete, usb_xfer::td_transfer_cache, usb_xfer::td_transfer_last, USS820_DCI_BUS2SC, and usb_xfer::xroot.
Referenced by uss820dci_interrupt_poll_locked(), and uss820dci_start_standard_chain().
|
static |
Definition at line 2217 of file uss820dci.c.
References usb_setup_params::buf, usb_device::bus, usb_setup_params::curr_xfer, usb_xfer::endpointno, uss820dci_td::ep_index, usb_setup_params::err, usb_setup_params::hc_max_frame_size, usb_setup_params::hc_max_packet_count, usb_setup_params::hc_max_packet_size, uss820dci_td::max_packet_size, usb_xfer::max_packet_size, usb_setup_params::methods, n, usb_xfer::nframes, uss820dci_td::obj_next, pf, usb_setup_params::size, uss820dci_td::support_multi_buffer, usb_xfer::td_start, usb_setup_params::udev, UE_ADDR, USB_ADD_BYTES, USB_ERR_INVAL, USB_HOST_ALIGN, usbd_transfer_setup_sub(), USS820_DCI_BUS2SC, uss820dci_device_bulk_methods, uss820dci_device_ctrl_methods, uss820dci_device_intr_methods, uss820dci_device_isoc_fs_methods, and uss820dci_get_hw_ep_profile().
|
static |
Definition at line 1247 of file uss820dci.c.
References USB_ERR_STALLED, and uss820dci_device_done().
|
static |
Definition at line 2315 of file uss820dci.c.
|
static |
Definition at line 101 of file uss820dci.c.
Referenced by uss820dci_init().
|
static |
Definition at line 1771 of file uss820dci.c.
Referenced by uss820dci_roothub_exec().
|
static |
Definition at line 108 of file uss820dci.c.
Referenced by uss820dci_setup_standard_chain().
|
static |
Definition at line 109 of file uss820dci.c.
Referenced by uss820dci_setup_standard_chain().
|
static |
Definition at line 110 of file uss820dci.c.
Referenced by uss820dci_setup_standard_chain().
|
static |
Definition at line 1746 of file uss820dci.c.
Referenced by uss820dci_roothub_exec().
|
static |
Definition at line 102 of file uss820dci.c.
Referenced by uss820dci_ep_init(), and uss820dci_xfer_setup().
|
static |
Definition at line 103 of file uss820dci.c.
Referenced by uss820dci_ep_init(), and uss820dci_xfer_setup().
|
static |
Definition at line 104 of file uss820dci.c.
Referenced by uss820dci_ep_init(), and uss820dci_xfer_setup().
|
static |
Definition at line 105 of file uss820dci.c.
Referenced by uss820dci_ep_init(), and uss820dci_xfer_setup().
|
static |
Definition at line 125 of file uss820dci.c.
Referenced by uss820dci_get_hw_ep_profile().
|
static |
Definition at line 1802 of file uss820dci.c.
Referenced by uss820dci_roothub_exec().
|
static |
Definition at line 1760 of file uss820dci.c.
Referenced by uss820dci_roothub_exec().
|
static |
Definition at line 107 of file uss820dci.c.
Referenced by uss820dci_setup_standard_chain().