/linux/drivers/usb/host/ |
H A D | xhci.c | 3 * xHCI host controller driver 23 #include <linux/usb/xhci-sideband.h> 25 #include "xhci.h" 26 #include "xhci-trace.h" 27 #include "xhci-debugfs.h" 28 #include "xhci-dbgcap.h" 88 * Disable interrupts and begin the xHCI halting process. 90 void xhci_quiesce(struct xhci_hcd *xhci) in xhci_quiesce() argument 97 halted = readl(&xhci->op_regs->status) & STS_HALT; in xhci_quiesce() 101 cmd = readl(&xhci in xhci_quiesce() 114 xhci_halt(struct xhci_hcd * xhci) xhci_halt() argument 138 xhci_start(struct xhci_hcd * xhci) xhci_start() argument 175 xhci_reset(struct xhci_hcd * xhci,u64 timeout_us) xhci_reset() argument 234 xhci_zero_64b_regs(struct xhci_hcd * xhci) xhci_zero_64b_regs() argument 320 xhci_disable_interrupter(struct xhci_hcd * xhci,struct xhci_interrupter * ir) xhci_disable_interrupter() argument 360 struct xhci_hcd *xhci; compliance_mode_recovery() local 408 compliance_mode_recovery_timer_init(struct xhci_hcd * xhci) compliance_mode_recovery_timer_init() argument 448 xhci_all_ports_seen_u0(struct xhci_hcd * xhci) xhci_all_ports_seen_u0() argument 453 xhci_hcd_page_size(struct xhci_hcd * xhci) xhci_hcd_page_size() argument 469 xhci_enable_max_dev_slots(struct xhci_hcd * xhci) xhci_enable_max_dev_slots() argument 487 xhci_set_cmd_ring_deq(struct xhci_hcd * xhci) xhci_set_cmd_ring_deq() argument 506 xhci_set_doorbell_ptr(struct xhci_hcd * xhci) xhci_set_doorbell_ptr() argument 520 xhci_set_dev_notifications(struct xhci_hcd * xhci) xhci_set_dev_notifications() argument 539 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_init() local 586 xhci_run_finished(struct xhci_hcd * xhci) xhci_run_finished() argument 638 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_run() local 700 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_stop() local 759 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_shutdown() local 795 xhci_save_registers(struct xhci_hcd * xhci) xhci_save_registers() argument 820 xhci_restore_registers(struct xhci_hcd * xhci) xhci_restore_registers() argument 853 xhci_clear_command_ring(struct xhci_hcd * xhci) xhci_clear_command_ring() argument 886 xhci_disable_hub_port_wake(struct xhci_hcd * xhci,struct xhci_hub * rhub,bool do_wakeup) xhci_disable_hub_port_wake() argument 918 xhci_pending_portevent(struct xhci_hcd * xhci) xhci_pending_portevent() argument 959 xhci_suspend(struct xhci_hcd * xhci,bool do_wakeup) xhci_suspend() argument 1073 xhci_resume(struct xhci_hcd * xhci,bool power_lost,bool is_auto_resume) xhci_resume() argument 1407 struct xhci_hcd *xhci; xhci_map_urb_for_dma() local 1423 struct xhci_hcd *xhci; xhci_unmap_urb_for_dma() local 1496 struct xhci_hcd *xhci; xhci_check_args() local 1540 xhci_check_ep0_maxpacket(struct xhci_hcd * xhci,struct xhci_virt_device * vdev) xhci_check_ep0_maxpacket() argument 1615 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_urb_enqueue() local 1752 struct xhci_hcd *xhci; xhci_urb_dequeue() local 1896 struct xhci_hcd *xhci; xhci_drop_endpoint() local 1979 struct xhci_hcd *xhci; xhci_add_endpoint() local 2077 xhci_zero_in_ctx(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev) xhci_zero_in_ctx() argument 2111 xhci_configure_endpoint_result(struct xhci_hcd * xhci,struct usb_device * udev,u32 * cmd_status) xhci_configure_endpoint_result() argument 2161 xhci_evaluate_context_result(struct xhci_hcd * xhci,struct usb_device * udev,u32 * cmd_status) xhci_evaluate_context_result() argument 2211 xhci_count_num_new_endpoints(struct xhci_hcd * xhci,struct xhci_input_control_ctx * ctrl_ctx) xhci_count_num_new_endpoints() argument 2232 xhci_count_num_dropped_endpoints(struct xhci_hcd * xhci,struct xhci_input_control_ctx * ctrl_ctx) xhci_count_num_dropped_endpoints() argument 2258 xhci_reserve_host_resources(struct xhci_hcd * xhci,struct xhci_input_control_ctx * ctrl_ctx) xhci_reserve_host_resources() argument 2285 xhci_free_host_resources(struct xhci_hcd * xhci,struct xhci_input_control_ctx * ctrl_ctx) xhci_free_host_resources() argument 2304 xhci_finish_resource_reservation(struct xhci_hcd * xhci,struct xhci_input_control_ctx * ctrl_ctx) xhci_finish_resource_reservation() argument 2350 xhci_check_tt_bw_table(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int old_active_eps) xhci_check_tt_bw_table() argument 2380 xhci_check_ss_bw(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev) xhci_check_ss_bw() argument 2437 xhci_check_bw_table(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int old_active_eps) xhci_check_bw_table() argument 2638 xhci_drop_ep_from_interval_table(struct xhci_hcd * xhci,struct xhci_bw_info * ep_bw,struct xhci_interval_bw_table * bw_table,struct usb_device * udev,struct xhci_virt_ep * virt_ep,struct xhci_tt_bw_info * tt_info) xhci_drop_ep_from_interval_table() argument 2699 xhci_add_ep_to_interval_table(struct xhci_hcd * xhci,struct xhci_bw_info * ep_bw,struct xhci_interval_bw_table * bw_table,struct usb_device * udev,struct xhci_virt_ep * virt_ep,struct xhci_tt_bw_info * tt_info) xhci_add_ep_to_interval_table() argument 2770 xhci_update_tt_active_eps(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int old_active_eps) xhci_update_tt_active_eps() argument 2790 xhci_reserve_bandwidth(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,struct xhci_container_ctx * in_ctx) xhci_reserve_bandwidth() argument 2888 xhci_stop_endpoint_sync(struct xhci_hcd * xhci,struct xhci_virt_ep * ep,int suspend,gfp_t gfp_flags) xhci_stop_endpoint_sync() argument 2928 xhci_configure_endpoint(struct xhci_hcd * xhci,struct usb_device * udev,struct xhci_command * command,bool ctx_change,bool must_succeed) xhci_configure_endpoint() argument 3024 xhci_check_bw_drop_ep_streams(struct xhci_hcd * xhci,struct xhci_virt_device * vdev,int i) xhci_check_bw_drop_ep_streams() argument 3052 struct xhci_hcd *xhci; xhci_check_bandwidth() local 3149 struct xhci_hcd *xhci; xhci_reset_bandwidth() local 3173 xhci_get_port_bandwidth(struct xhci_hcd * xhci,struct xhci_container_ctx * ctx,u8 dev_speed) xhci_get_port_bandwidth() argument 3208 xhci_setup_input_ctx_for_config_ep(struct xhci_hcd * xhci,struct xhci_container_ctx * in_ctx,struct xhci_container_ctx * out_ctx,struct xhci_input_control_ctx * ctrl_ctx,u32 add_flags,u32 drop_flags) xhci_setup_input_ctx_for_config_ep() argument 3223 struct xhci_hcd *xhci; xhci_endpoint_disable() local 3278 struct xhci_hcd *xhci; xhci_endpoint_reset() local 3422 xhci_check_streams_endpoint(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_host_endpoint * ep,unsigned int slot_id) xhci_check_streams_endpoint() argument 3462 xhci_calculate_streams_entries(struct xhci_hcd * xhci,unsigned int * num_streams,unsigned int * num_stream_ctxs) xhci_calculate_streams_entries() argument 3488 xhci_calculate_streams_and_bitmask(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_host_endpoint ** eps,unsigned int num_eps,unsigned int * num_streams,u32 * changed_ep_bitmask) xhci_calculate_streams_and_bitmask() argument 3520 xhci_calculate_no_streams_bitmask(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_host_endpoint ** eps,unsigned int num_eps) xhci_calculate_no_streams_bitmask() argument 3582 struct xhci_hcd *xhci; xhci_alloc_streams() local 3749 struct xhci_hcd *xhci; xhci_free_streams() local 3836 xhci_free_device_endpoint_resources(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,bool drop_control_ep) xhci_free_device_endpoint_resources() argument 3883 struct xhci_hcd *xhci; xhci_discover_or_reset_device() local 4061 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_free_dev() local 4098 xhci_disable_slot(struct xhci_hcd * xhci,u32 slot_id) xhci_disable_slot() argument 4148 xhci_reserve_host_control_ep_resources(struct xhci_hcd * xhci) xhci_reserve_host_control_ep_resources() argument 4171 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_alloc_dev() local 4271 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_setup_device() local 4481 xhci_change_max_exit_latency(struct xhci_hcd * xhci,struct usb_device * udev,u16 max_exit_latency) xhci_change_max_exit_latency() argument 4555 xhci_calculate_hird_besl(struct xhci_hcd * xhci,struct usb_device * udev) xhci_calculate_hird_besl() argument 4614 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_set_usb2_hardware_lpm() local 4708 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_update_device() local 4845 xhci_calculate_u1_timeout(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_endpoint_descriptor * desc) xhci_calculate_u1_timeout() argument 4909 xhci_calculate_u2_timeout(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_endpoint_descriptor * desc) xhci_calculate_u2_timeout() argument 4940 xhci_call_host_update_timeout_for_endpoint(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_endpoint_descriptor * desc,enum usb3_link_state state,u16 * timeout) xhci_call_host_update_timeout_for_endpoint() argument 4954 xhci_update_timeout_for_endpoint(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_endpoint_descriptor * desc,enum usb3_link_state state,u16 * timeout) xhci_update_timeout_for_endpoint() argument 4979 xhci_update_timeout_for_interface(struct xhci_hcd * xhci,struct usb_device * udev,struct usb_host_interface * alt,enum usb3_link_state state,u16 * timeout) xhci_update_timeout_for_interface() argument 4995 xhci_check_tier_policy(struct xhci_hcd * xhci,struct usb_device * udev,enum usb3_link_state state) xhci_check_tier_policy() argument 5027 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_calculate_lpm_timeout() local 5135 struct xhci_hcd *xhci; xhci_enable_usb3_lpm_timeout() local 5177 struct xhci_hcd *xhci; xhci_disable_usb3_lpm_timeout() local 5222 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_update_hub_device() local 5323 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_get_frame() local 5328 xhci_hcd_init_usb2_data(struct xhci_hcd * xhci,struct usb_hcd * hcd) xhci_hcd_init_usb2_data() argument 5341 xhci_hcd_init_usb3_data(struct xhci_hcd * xhci,struct usb_hcd * hcd) xhci_hcd_init_usb3_data() argument 5381 struct xhci_hcd *xhci; xhci_gen_setup() local 5507 struct xhci_hcd *xhci; xhci_clear_tt_buffer_complete() local [all...] |
H A D | xhci-mem.c | 3 * xHCI host controller driver 18 #include "xhci.h" 19 #include "xhci-trace.h" 20 #include "xhci-debugfs.h" 29 static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci, in xhci_segment_alloc() argument 36 struct device *dev = xhci_to_hcd(xhci)->self.sysdev; in xhci_segment_alloc() 42 seg->trbs = dma_pool_zalloc(xhci->segment_pool, flags, &dma); in xhci_segment_alloc() 52 dma_pool_free(xhci->segment_pool, seg->trbs, dma); in xhci_segment_alloc() 64 static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) in xhci_segment_free() argument 67 dma_pool_free(xhci in xhci_segment_free() 74 xhci_ring_segments_free(struct xhci_hcd * xhci,struct xhci_ring * ring) xhci_ring_segments_free() argument 116 xhci_initialize_ring_segments(struct xhci_hcd * xhci,struct xhci_ring * ring) xhci_initialize_ring_segments() argument 136 xhci_link_rings(struct xhci_hcd * xhci,struct xhci_ring * src,struct xhci_ring * dst) xhci_link_rings() argument 289 xhci_ring_free(struct xhci_hcd * xhci,struct xhci_ring * ring) xhci_ring_free() argument 330 xhci_alloc_segments_for_ring(struct xhci_hcd * xhci,struct xhci_ring * ring,gfp_t flags) xhci_alloc_segments_for_ring() argument 370 xhci_ring_alloc(struct xhci_hcd * xhci,unsigned int num_segs,enum xhci_ring_type type,unsigned int max_packet,gfp_t flags) xhci_ring_alloc() argument 402 xhci_free_endpoint_ring(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,unsigned int ep_index) xhci_free_endpoint_ring() argument 414 xhci_ring_expansion(struct xhci_hcd * xhci,struct xhci_ring * ring,unsigned int num_new_segs,gfp_t flags) xhci_ring_expansion() argument 452 xhci_alloc_container_ctx(struct xhci_hcd * xhci,int type,gfp_t flags) xhci_alloc_container_ctx() argument 478 xhci_free_container_ctx(struct xhci_hcd * xhci,struct xhci_container_ctx * ctx) xhci_free_container_ctx() argument 487 xhci_alloc_port_bw_ctx(struct xhci_hcd * xhci,gfp_t flags) xhci_alloc_port_bw_ctx() argument 507 xhci_free_port_bw_ctx(struct xhci_hcd * xhci,struct xhci_container_ctx * ctx) xhci_free_port_bw_ctx() argument 525 xhci_get_slot_ctx(struct xhci_hcd * xhci,struct xhci_container_ctx * ctx) xhci_get_slot_ctx() argument 535 xhci_get_ep_ctx(struct xhci_hcd * xhci,struct xhci_container_ctx * ctx,unsigned int ep_index) xhci_get_ep_ctx() argument 551 xhci_free_stream_ctx(struct xhci_hcd * xhci,unsigned int num_stream_ctxs,struct xhci_stream_ctx * stream_ctx,dma_addr_t dma) xhci_free_stream_ctx() argument 576 xhci_alloc_stream_ctx(struct xhci_hcd * xhci,unsigned int num_stream_ctxs,dma_addr_t * dma,gfp_t mem_flags) xhci_alloc_stream_ctx() argument 610 xhci_alloc_stream_info(struct xhci_hcd * xhci,unsigned int num_stream_ctxs,unsigned int num_streams,unsigned int max_packet,gfp_t mem_flags) xhci_alloc_stream_info() argument 725 xhci_setup_streams_ep_input_ctx(struct xhci_hcd * xhci,struct xhci_ep_ctx * ep_ctx,struct xhci_stream_info * stream_info) xhci_setup_streams_ep_input_ctx() argument 762 xhci_free_stream_info(struct xhci_hcd * xhci,struct xhci_stream_info * stream_info) xhci_free_stream_info() argument 794 xhci_free_tt_info(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int slot_id) xhci_free_tt_info() argument 823 xhci_alloc_tt_info(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,struct usb_device * hdev,struct usb_tt * tt,gfp_t mem_flags) xhci_alloc_tt_info() argument 868 xhci_free_virt_device(struct xhci_hcd * xhci,int slot_id) xhci_free_virt_device() argument 933 xhci_free_virt_devices_depth_first(struct xhci_hcd * xhci,int slot_id) xhci_free_virt_devices_depth_first() argument 968 xhci_alloc_virt_device(struct xhci_hcd * xhci,int slot_id,struct usb_device * udev,gfp_t flags) xhci_alloc_virt_device() argument 1039 xhci_copy_ep0_dequeue_into_input_ctx(struct xhci_hcd * xhci,struct usb_device * udev) xhci_copy_ep0_dequeue_into_input_ctx() argument 1071 xhci_find_rhub_port(struct xhci_hcd * xhci,struct usb_device * udev) xhci_find_rhub_port() argument 1091 xhci_setup_addressable_virt_dev(struct xhci_hcd * xhci,struct usb_device * udev) xhci_setup_addressable_virt_dev() argument 1414 xhci_endpoint_init(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,struct usb_device * udev,struct usb_host_endpoint * ep,gfp_t mem_flags) xhci_endpoint_init() argument 1517 xhci_endpoint_zero(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,struct usb_host_endpoint * ep) xhci_endpoint_zero() argument 1546 xhci_update_bw_info(struct xhci_hcd * xhci,struct xhci_container_ctx * in_ctx,struct xhci_input_control_ctx * ctrl_ctx,struct xhci_virt_device * virt_dev) xhci_update_bw_info() argument 1604 xhci_endpoint_copy(struct xhci_hcd * xhci,struct xhci_container_ctx * in_ctx,struct xhci_container_ctx * out_ctx,unsigned int ep_index) xhci_endpoint_copy() argument 1630 xhci_slot_copy(struct xhci_hcd * xhci,struct xhci_container_ctx * in_ctx,struct xhci_container_ctx * out_ctx) xhci_slot_copy() argument 1647 scratchpad_alloc(struct xhci_hcd * xhci,gfp_t flags) scratchpad_alloc() argument 1710 scratchpad_free(struct xhci_hcd * xhci) scratchpad_free() argument 1734 xhci_alloc_command(struct xhci_hcd * xhci,bool allocate_completion,gfp_t mem_flags) xhci_alloc_command() argument 1762 xhci_alloc_command_with_ctx(struct xhci_hcd * xhci,bool allocate_completion,gfp_t mem_flags) xhci_alloc_command_with_ctx() argument 1786 xhci_free_command(struct xhci_hcd * xhci,struct xhci_command * command) xhci_free_command() argument 1795 xhci_alloc_erst(struct xhci_hcd * xhci,struct xhci_ring * evt_ring,struct xhci_erst * erst,gfp_t flags) xhci_alloc_erst() argument 1826 xhci_remove_interrupter(struct xhci_hcd * xhci,struct xhci_interrupter * ir) xhci_remove_interrupter() argument 1848 xhci_free_interrupter(struct xhci_hcd * xhci,struct xhci_interrupter * ir) xhci_free_interrupter() argument 1874 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_remove_secondary_interrupter() local 1902 xhci_mem_cleanup(struct xhci_hcd * xhci) xhci_mem_cleanup() argument 2005 xhci_set_hc_event_deq(struct xhci_hcd * xhci,struct xhci_interrupter * ir) xhci_set_hc_event_deq() argument 2022 xhci_add_in_port(struct xhci_hcd * xhci,unsigned int num_ports,__le32 __iomem * addr,int max_caps) xhci_add_in_port() argument 2157 xhci_create_rhub_port_array(struct xhci_hcd * xhci,struct xhci_hub * rhub,gfp_t flags) xhci_create_rhub_port_array() argument 2190 xhci_setup_port_arrays(struct xhci_hcd * xhci,gfp_t flags) xhci_setup_port_arrays() argument 2295 xhci_alloc_interrupter(struct xhci_hcd * xhci,unsigned int segs,gfp_t flags) xhci_alloc_interrupter() argument 2330 xhci_add_interrupter(struct xhci_hcd * xhci,unsigned int intr_num) xhci_add_interrupter() argument 2362 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_create_secondary_interrupter() local 2411 xhci_mem_init(struct xhci_hcd * xhci,gfp_t flags) xhci_mem_init() argument [all...] |
H A D | xhci-plat.c | 3 * xhci-plat.c - xHCI host controller driver platform Bus Glue. 8 * A lot of code borrowed from the Linux xHCI driver. 24 #include "xhci.h" 25 #include "xhci-plat.h" 26 #include "xhci-mvebu.h" 77 static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_plat_quirks() argument 79 struct xhci_plat_priv *priv = xhci_to_priv(xhci); in xhci_plat_quirks() 81 xhci->quirks |= priv->quirks; in xhci_plat_quirks() 118 .compatible = "generic-xhci", 149 struct xhci_hcd *xhci; xhci_plat_probe() local 426 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_plat_remove() local 460 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_plat_suspend() local 489 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_plat_resume_common() local 540 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_plat_runtime_suspend() local 553 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_plat_runtime_resume() local [all...] |
H A D | xhci-pci.c | 3 * xHCI host controller driver PCI Bus Glue. 18 #include "xhci.h" 19 #include "xhci-trace.h" 20 #include "xhci-pci.h" 116 static void xhci_msix_sync_irqs(struct xhci_hcd *xhci) in xhci_msix_sync_irqs() argument 118 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_msix_sync_irqs() 129 static void xhci_cleanup_msix(struct xhci_hcd *xhci) in xhci_cleanup_msix() argument 131 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_cleanup_msix() 137 free_irq(pci_irq_vector(pdev, 0), xhci_to_hcd(xhci)); in xhci_cleanup_msix() 146 struct xhci_hcd *xhci in xhci_try_enable_msi() local 226 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_pci_stop() local 235 xhci_pci_reinit(struct xhci_hcd * xhci,struct pci_dev * pdev) xhci_pci_reinit() argument 251 xhci_pci_quirks(struct device * dev,struct xhci_hcd * xhci) xhci_pci_quirks() argument 534 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_find_lpm_incapable_ports() local 568 struct xhci_hcd *xhci; xhci_pci_setup() local 612 struct xhci_hcd *xhci; xhci_pci_common_probe() local 703 struct xhci_hcd *xhci; xhci_pci_remove() local 739 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_ssic_port_unused_quirk() local 774 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_pme_quirk() local 795 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_pci_suspend() local 835 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_pci_resume() local 874 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_pci_poweroff_late() local 923 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_pci_shutdown() local [all...] |
H A D | Makefile | 6 # tell define_trace.h where to find the xhci trace header 14 xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o 15 xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o 16 xhci [all...] |
H A D | xhci-debugfs.c | 3 * xhci-debugfs.c - xHCI debugfs interface 13 #include "xhci.h" 14 #include "xhci-debugfs.h" 86 static struct xhci_regset *xhci_debugfs_alloc_regset(struct xhci_hcd *xhci) in xhci_debugfs_alloc_regset() argument 99 list_add_tail(®set->list, &xhci->regset_list); in xhci_debugfs_alloc_regset() 114 static void xhci_debugfs_regset(struct xhci_hcd *xhci, u32 base, in xhci_debugfs_regset() argument 122 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_debugfs_regset() 124 rgs = xhci_debugfs_alloc_regset(xhci); in xhci_debugfs_regset() 141 static void xhci_debugfs_extcap_regset(struct xhci_hcd *xhci, in argument 249 struct xhci_hcd *xhci; xhci_slot_context_show() local 271 struct xhci_hcd *xhci; xhci_endpoint_context_show() local 348 struct xhci_hcd *xhci = hcd_to_xhci(port->rhub->hcd); xhci_port_write() local 386 xhci_debugfs_create_files(struct xhci_hcd * xhci,struct xhci_file_map * files,size_t nentries,void * data,struct dentry * parent,const struct file_operations * fops) xhci_debugfs_create_files() argument 399 xhci_debugfs_create_ring_dir(struct xhci_hcd * xhci,struct xhci_ring ** ring,const char * name,struct dentry * parent) xhci_debugfs_create_ring_dir() argument 413 xhci_debugfs_create_context_files(struct xhci_hcd * xhci,struct dentry * parent,int slot_id) xhci_debugfs_create_context_files() argument 425 xhci_debugfs_create_endpoint(struct xhci_hcd * xhci,struct xhci_virt_device * dev,int ep_index) xhci_debugfs_create_endpoint() argument 452 xhci_debugfs_remove_endpoint(struct xhci_hcd * xhci,struct xhci_virt_device * dev,int ep_index) xhci_debugfs_remove_endpoint() argument 548 xhci_debugfs_create_stream_files(struct xhci_hcd * xhci,struct xhci_virt_device * dev,int ep_index) xhci_debugfs_create_stream_files() argument 573 xhci_debugfs_create_slot(struct xhci_hcd * xhci,int slot_id) xhci_debugfs_create_slot() argument 593 xhci_debugfs_remove_slot(struct xhci_hcd * xhci,int slot_id) xhci_debugfs_remove_slot() argument 613 xhci_debugfs_create_ports(struct xhci_hcd * xhci,struct dentry * parent) xhci_debugfs_create_ports() argument 634 xhci_port_bw_show(struct xhci_hcd * xhci,u8 dev_speed,struct seq_file * s) xhci_port_bw_show() argument 676 struct xhci_hcd *xhci = (struct xhci_hcd *)s->private; xhci_ss_bw_show() local 685 struct xhci_hcd *xhci = (struct xhci_hcd *)s->private; xhci_hs_bw_show() local 694 struct xhci_hcd *xhci = (struct xhci_hcd *)s->private; xhci_fs_bw_show() local 729 xhci_debugfs_create_bandwidth(struct xhci_hcd * xhci,struct dentry * parent) xhci_debugfs_create_bandwidth() argument 740 xhci_debugfs_init(struct xhci_hcd * xhci) xhci_debugfs_init() argument 794 xhci_debugfs_exit(struct xhci_hcd * xhci) xhci_debugfs_exit() argument [all...] |
H A D | xhci-hub.c | 3 * xHCI host controller driver 17 #include "xhci.h" 18 #include "xhci-trace.h" 36 static int xhci_create_usb3x_bos_desc(struct xhci_hcd *xhci, char *buf, in xhci_create_usb3x_bos_desc() argument 61 for (i = 0; i < xhci->num_port_caps; i++) { in xhci_create_usb3x_bos_desc() 62 u8 major = xhci->port_caps[i].maj_rev; in xhci_create_usb3x_bos_desc() 63 u8 minor = xhci->port_caps[i].min_rev; in xhci_create_usb3x_bos_desc() 68 port_cap = &xhci->port_caps[i]; in xhci_create_usb3x_bos_desc() 112 reg = readl(&xhci->cap_regs->hcc_params); in xhci_create_usb3x_bos_desc() 116 if ((xhci in xhci_create_usb3x_bos_desc() 256 xhci_common_hub_descriptor(struct xhci_hcd * xhci,struct usb_hub_descriptor * desc,int ports) xhci_common_hub_descriptor() argument 279 xhci_usb2_hub_descriptor(struct usb_hcd * hcd,struct xhci_hcd * xhci,struct usb_hub_descriptor * desc) xhci_usb2_hub_descriptor() argument 334 xhci_usb3_hub_descriptor(struct usb_hcd * hcd,struct xhci_hcd * xhci,struct usb_hub_descriptor * desc) xhci_usb3_hub_descriptor() argument 367 xhci_hub_descriptor(struct usb_hcd * hcd,struct xhci_hcd * xhci,struct usb_hub_descriptor * desc) xhci_hub_descriptor() argument 458 xhci_stop_device(struct xhci_hcd * xhci,int slot_id,int suspend) xhci_stop_device() argument 531 xhci_ring_device(struct xhci_hcd * xhci,int slot_id) xhci_ring_device() argument 550 xhci_disable_port(struct xhci_hcd * xhci,struct xhci_port * port) xhci_disable_port() argument 580 xhci_clear_port_change_bit(struct xhci_hcd * xhci,u16 wValue,u16 wIndex,__le32 __iomem * addr,u32 port_status) xhci_clear_port_change_bit() argument 633 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_get_rhub() local 645 xhci_set_port_power(struct xhci_hcd * xhci,struct xhci_port * port,bool on,unsigned long * flags) xhci_set_port_power() argument 678 xhci_port_set_test_mode(struct xhci_hcd * xhci,u16 test_mode,u16 wIndex) xhci_port_set_test_mode() argument 694 xhci_enter_test_mode(struct xhci_hcd * xhci,u16 test_mode,u16 wIndex,unsigned long * flags) xhci_enter_test_mode() argument 737 xhci_exit_test_mode(struct xhci_hcd * xhci) xhci_exit_test_mode() argument 771 xhci_port_is_tunneled(struct xhci_hcd * xhci,struct xhci_port * port) xhci_port_is_tunneled() argument 799 xhci_set_link_state(struct xhci_hcd * xhci,struct xhci_port * port,u32 link_state) xhci_set_link_state() argument 816 xhci_set_remote_wake_mask(struct xhci_hcd * xhci,struct xhci_port * port,u16 wake_mask) xhci_set_remote_wake_mask() argument 843 xhci_test_and_clear_bit(struct xhci_hcd * xhci,struct xhci_port * port,u32 port_bit) xhci_test_and_clear_bit() argument 857 xhci_hub_report_usb3_link_state(struct xhci_hcd * xhci,u32 * status,u32 status_reg) xhci_hub_report_usb3_link_state() argument 917 xhci_del_comp_mod_timer(struct xhci_hcd * xhci,u32 status,u16 wIndex) xhci_del_comp_mod_timer() argument 943 struct xhci_hcd *xhci; xhci_handle_usb2_port_link_resume() local 1046 struct xhci_hcd *xhci; xhci_get_usb3_port_status() local 1209 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_hub_control() local 1647 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_hub_status_data() local 1719 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_bus_suspend() local 1875 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_bus_resume() local [all...] |
H A D | xhci-sideband.c | 4 * xHCI host controller sideband support 11 #include <linux/usb/xhci-sideband.h> 14 #include "xhci.h" 28 dev = xhci_to_hcd(sb->xhci)->self.sysdev; in xhci_ring_to_sgtable() 83 xhci_stop_endpoint_sync(sb->xhci, ep, 0, GFP_KERNEL); in __xhci_sideband_remove_endpoint() 96 * Notifies the xHCI sideband client driver of a xHCI transfer ring free 145 * smaller than for xhci it won't be able to access the endpoint ring in xhci_sideband_add_endpoint() 213 return xhci_stop_endpoint_sync(sb->xhci, ep, 0, GFP_KERNEL); in xhci_sideband_stop_endpoint() 251 * If a secondary xhci interupte 375 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_sideband_register() local 432 struct xhci_hcd *xhci; xhci_sideband_unregister() local [all...] |
H A D | xhci-histb.c | 3 * xHCI host controller driver for HiSilicon STB SoCs 19 #include "xhci.h" 69 * refer to xHCI spec in xhci_histb_config() 193 struct xhci_hcd *xhci; in xhci_histb_probe() local 252 xhci = hcd_to_xhci(hcd); in xhci_histb_probe() 256 xhci->main_hcd = hcd; in xhci_histb_probe() 257 xhci->shared_hcd = usb_create_shared_hcd(driver, dev, dev_name(dev), in xhci_histb_probe() 259 if (!xhci->shared_hcd) { in xhci_histb_probe() 265 xhci->quirks |= XHCI_HW_LPM_DISABLE; in xhci_histb_probe() 268 xhci in xhci_histb_probe() 316 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_histb_remove() local 338 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_histb_suspend() local 353 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_histb_resume() local [all...] |
H A D | xhci-debugfs.h | 3 * xhci-debugfs.h - xHCI debugfs interface 107 void xhci_debugfs_init(struct xhci_hcd *xhci); 108 void xhci_debugfs_exit(struct xhci_hcd *xhci); 111 void xhci_debugfs_create_slot(struct xhci_hcd *xhci, int slot_id); 112 void xhci_debugfs_remove_slot(struct xhci_hcd *xhci, int slot_id); 113 void xhci_debugfs_create_endpoint(struct xhci_hcd *xhci, 116 void xhci_debugfs_remove_endpoint(struct xhci_hcd *xhci, 119 void xhci_debugfs_create_stream_files(struct xhci_hcd *xhci, 123 static inline void xhci_debugfs_init(struct xhci_hcd *xhci) { } in xhci_debugfs_init() argument 124 xhci_debugfs_exit(struct xhci_hcd * xhci) xhci_debugfs_exit() argument 130 xhci_debugfs_create_endpoint(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int ep_index) xhci_debugfs_create_endpoint() argument 134 xhci_debugfs_remove_endpoint(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int ep_index) xhci_debugfs_remove_endpoint() argument 138 xhci_debugfs_create_stream_files(struct xhci_hcd * xhci,struct xhci_virt_device * virt_dev,int ep_index) xhci_debugfs_create_stream_files() argument [all...] |
H A D | xhci-mtk.c | 3 * MediaTek xHCI Host Controller Driver 24 #include "xhci.h" 25 #include "xhci-mtk.h" 61 /* xHCI CSR */ 145 if (!of_device_is_compatible(dev->of_node, "mediatek,mt8195-xhci")) in xhci_mtk_set_frame_interval() 451 static void xhci_mtk_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_mtk_quirks() argument 453 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_mtk_quirks() 456 xhci->quirks |= XHCI_MTK_HOST; in xhci_mtk_quirks() 461 xhci->quirks |= XHCI_SPURIOUS_SUCCESS; in xhci_mtk_quirks() 463 xhci in xhci_mtk_quirks() 515 struct xhci_hcd *xhci; xhci_mtk_probe() local 711 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_mtk_remove() local 743 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_mtk_suspend() local 778 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_mtk_resume() local 810 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); xhci_mtk_runtime_suspend() local 826 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); xhci_mtk_runtime_resume() local [all...] |
H A D | xhci.h | 4 * xHCI host controller driver 22 /* Code sharing between pci-quirks and xhci hcd */ 23 #include "xhci-ext-caps.h" 26 #include "xhci-port.h" 27 #include "xhci-caps.h" 32 /* xHCI PCI Configuration Registers */ 41 * xHCI register interface. 42 * This corresponds to the eXtensible Host Controller Interface (xHCI) 47 * struct xhci_cap_regs - xHCI Host Controller Capability Registers. 55 * @hcc_params2: HCCPARAMS2 Capability Parameters 2, xhci 1. 678 struct xhci_hcd *xhci; global() member 1710 xhci_to_hcd(struct xhci_hcd * xhci) xhci_to_hcd() argument 1715 xhci_get_usb3_hcd(struct xhci_hcd * xhci) xhci_get_usb3_hcd() argument 1728 struct xhci_hcd *xhci = hcd_to_xhci(hcd); xhci_hcd_is_usb3() local 1733 xhci_has_one_roothub(struct xhci_hcd * xhci) xhci_has_one_roothub() argument 1739 xhci_dbg(xhci,fmt,args...) global() argument 1741 xhci_err(xhci,fmt,args...) global() argument 1743 xhci_warn(xhci,fmt,args...) global() argument 1745 xhci_info(xhci,fmt,args...) global() argument 1757 xhci_read_64(const struct xhci_hcd * xhci,__le64 __iomem * regs) xhci_read_64() argument 1762 xhci_write_64(struct xhci_hcd * xhci,const u64 val,__le64 __iomem * regs) xhci_write_64() argument 1779 xhci_link_chain_quirk(struct xhci_hcd * xhci,enum xhci_ring_type type) xhci_link_chain_quirk() argument 1997 xhci_urb_to_transfer_ring(struct xhci_hcd * xhci,struct urb * urb) xhci_urb_to_transfer_ring() argument [all...] |
H A D | xhci-rcar.c | 3 * xHCI host controller driver for R-Car SoCs 15 #include "xhci.h" 16 #include "xhci-plat.h" 17 #include "xhci-rzv2m.h" 93 return of_device_is_compatible(node, "renesas,xhci-r8a7790") || in xhci_rcar_is_gen2() 94 of_device_is_compatible(node, "renesas,xhci-r8a7791") || in xhci_rcar_is_gen2() 95 of_device_is_compatible(node, "renesas,xhci-r8a7793") || in xhci_rcar_is_gen2() 96 of_device_is_compatible(node, "renesas,rcar-gen2-xhci"); in xhci_rcar_is_gen2() 206 * pointers. So, this driver clears the AC64 bit of xhci->hcc_params 238 .compatible = "renesas,xhci [all...] |
H A D | xhci-ext-caps.c | 3 * XHCI extended capability handling 11 #include "xhci.h" 28 static int xhci_create_intel_xhci_sw_pdev(struct xhci_hcd *xhci, u32 cap_offset) in xhci_create_intel_xhci_sw_pdev() argument 30 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_create_intel_xhci_sw_pdev() 39 xhci_err(xhci, "couldn't allocate %s platform device\n", in xhci_create_intel_xhci_sw_pdev() 84 int xhci_ext_cap_init(struct xhci_hcd *xhci) in xhci_ext_cap_init() argument 86 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_ext_cap_init() 97 if (xhci->quirks & XHCI_INTEL_USB_ROLE_SW) { in xhci_ext_cap_init() 98 ret = xhci_create_intel_xhci_sw_pdev(xhci, in xhci_ext_cap_init()
|
H A D | Kconfig | 21 tristate "xHCI HCD (USB 3.0) support" 24 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 28 module will be called xhci-hcd. 32 bool "xHCI support for debug capability" 35 Say 'Y' to enable the support for the xHCI debug capability. Make 36 sure that your xHCI host supports the extended debug capability and 37 you want a TTY serial device based on the xHCI debug capability 46 tristate "Support for additional Renesas xHCI controller with firmware" 49 Say 'Y' to enable the support for the Renesas xHCI controller with 55 tristate "Generic xHCI drive [all...] |
H A D | xhci-dbg.c | 3 * xHCI host controller driver 11 #include "xhci.h" 13 char *xhci_get_slot_state(struct xhci_hcd *xhci, in xhci_get_slot_state() argument 16 struct xhci_slot_ctx *slot_ctx = xhci_get_slot_ctx(xhci, ctx); in xhci_get_slot_state() 22 void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *), in xhci_dbg_trace() argument 31 xhci_dbg(xhci, "%pV\n", &vaf); in xhci_dbg_trace()
|
/linux/Documentation/devicetree/bindings/usb/ |
H A D | renesas,usb-xhci.yaml | 4 $id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml# 7 title: Renesas USB xHCI controllers 18 - renesas,xhci-r8a7742 # RZ/G1H 19 - renesas,xhci-r8a7743 # RZ/G1M 20 - renesas,xhci-r8a7744 # RZ/G1N 21 - renesas,xhci-r8a7790 # R-Car H2 22 - renesas,xhci-r8a7791 # R-Car M2-W 23 - renesas,xhci-r8a7793 # R-Car M2-N 24 - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1 27 - renesas,xhci [all...] |
H A D | generic-xhci.yaml | 4 $id: http://devicetree.org/schemas/usb/generic-xhci.yaml# 7 title: USB xHCI Controller 15 - description: Generic xHCI device 16 const: generic-xhci 20 - marvell,armada3700-xhci 21 - marvell,armada-375-xhci 22 - marvell,armada-380-xhci 23 - marvell,armada-8k-xhci 24 - const: generic-xhci 28 - brcm,bcm2711-xhci [all...] |
/linux/drivers/usb/dwc3/ |
H A D | host.c | 16 #include "../host/xhci-port.h" 17 #include "../host/xhci-ext-caps.h" 18 #include "../host/xhci-caps.h" 19 #include "../host/xhci-plat.h" 38 /* xhci regs are not mapped yet, do it temporarily here */ in dwc3_power_off_all_roothub_ports() 59 dev_err(dwc->dev, "xhci base reg invalid\n"); in dwc3_power_off_all_roothub_ports() 130 struct platform_device *xhci; in dwc3_host_init() local 136 * mode to avoid VBUS glitch happen when xhci get reset later. in dwc3_host_init() 144 xhci = platform_device_alloc("xhci in dwc3_host_init() [all...] |
/linux/Documentation/devicetree/bindings/phy/ |
H A D | realtek,usb2phy.yaml | 15 The USB 2.0 PHY driver is designed to support the XHCI controller. The SoCs 16 support multiple XHCI controllers. One PHY device node maps to one XHCI 20 The USB architecture includes three XHCI controllers. 21 Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some 23 XHCI controller#0 -- usb2phy -- phy#0 25 XHCI controller#1 -- usb2phy -- phy#0 26 XHCI controller#2 -- usb2phy -- phy#0 30 The USB architecture includes two XHCI controllers. 33 XHCI controlle [all...] |
H A D | realtek,usb3phy.yaml | 15 The USB 3.0 PHY driver is designed to support the XHCI controller. The SoCs 16 support multiple XHCI controllers. One PHY device node maps to one XHCI 20 The USB architecture includes three XHCI controllers. 21 Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some 23 XHCI controller#0 -- usb2phy -- phy#0 25 XHCI controller#1 -- usb2phy -- phy#0 26 XHCI controller#2 -- usb2phy -- phy#0 30 The USB architecture includes three XHCI controllers. 31 Each XHCI map [all...] |
H A D | brcm,brcmstb-usb-phy.yaml | 9 description: Broadcom's PHY that handles EHCI/OHCI and/or XHCI 28 - description: XHCI EC register 29 - description: XHCI GBL register 88 brcm,has-xhci: 89 description: Indicates the PHY has an XHCI PHY. 109 - brcm,has-xhci 169 brcm,has-xhci; 195 brcm,has-xhci;
|
/linux/drivers/usb/cdns3/ |
H A D | host.c | 18 #include "../host/xhci.h" 19 #include "../host/xhci-plat.h" 34 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_cdns3_plat_start() local 38 value = readl(&xhci->op_regs->command); in xhci_cdns3_plat_start() 40 writel(value, &xhci->op_regs->command); in xhci_cdns3_plat_start() 71 struct platform_device *xhci; in __cdns_host_init() local 77 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in __cdns_host_init() 78 if (!xhci) { in __cdns_host_init() 79 dev_err(cdns->dev, "couldn't allocate xHCI devic in __cdns_host_init() [all...] |
/linux/include/linux/usb/ |
H A D | xhci-sideband.h | 3 * xHCI host controller sideband support 15 #define EP_CTX_PER_DEV 31 /* FIXME defined twice, from xhci.h */ 40 * @xhci: The xhci host controller the usb device is connected to 44 * @type: xHCI sideband type 47 * @notify_client: callback for xHCI sideband sequences 52 struct xhci_hcd *xhci; member 58 /* Synchronizing xHCI sideband operations with client drivers operations */
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-pci-drivers-xhci_hcd | 5 xHCI compatible USB host controllers (i.e. super-speed 12 The DbC debug device shares a root port with xHCI host. 15 to xHCI. 21 port will roll back to the xHCI. 32 presented in the USB device descriptor by this xhci debug 45 presented in the USB device descriptor by this xhci debug 57 presented in the USB device descriptor by this xhci debug 70 presented in the USB Interface descriptor by the xhci debug
|