Lines Matching refs:xhci_hcd

954 	struct xhci_hcd		*xhci;
1747 /* There is one xhci_hcd structure per controller */
1748 struct xhci_hcd {
1949 static inline struct xhci_hcd *hcd_to_xhci(struct usb_hcd *hcd)
1958 return (struct xhci_hcd *) (primary_hcd->hcd_priv);
1961 static inline struct usb_hcd *xhci_to_hcd(struct xhci_hcd *xhci)
1986 static inline u64 xhci_read_64(const struct xhci_hcd *xhci,
1991 static inline void xhci_write_64(struct xhci_hcd *xhci,
1997 static inline int xhci_link_trb_quirk(struct xhci_hcd *xhci)
2003 char *xhci_get_slot_state(struct xhci_hcd *xhci,
2005 void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
2009 void xhci_mem_cleanup(struct xhci_hcd *xhci);
2010 int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags);
2011 void xhci_free_virt_device(struct xhci_hcd *xhci, int slot_id);
2012 int xhci_alloc_virt_device(struct xhci_hcd *xhci, int slot_id, struct usb_device *udev, gfp_t flags);
2013 int xhci_setup_addressable_virt_dev(struct xhci_hcd *xhci, struct usb_device *udev);
2014 void xhci_copy_ep0_dequeue_into_input_ctx(struct xhci_hcd *xhci,
2019 void xhci_endpoint_zero(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep);
2020 void xhci_update_tt_active_eps(struct xhci_hcd *xhci,
2024 void xhci_update_bw_info(struct xhci_hcd *xhci,
2028 void xhci_endpoint_copy(struct xhci_hcd *xhci,
2032 void xhci_slot_copy(struct xhci_hcd *xhci,
2035 int xhci_endpoint_init(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev,
2038 struct xhci_ring *xhci_ring_alloc(struct xhci_hcd *xhci,
2041 void xhci_ring_free(struct xhci_hcd *xhci, struct xhci_ring *ring);
2042 int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring,
2044 int xhci_alloc_erst(struct xhci_hcd *xhci,
2050 void xhci_free_erst(struct xhci_hcd *xhci, struct xhci_erst *erst);
2051 void xhci_free_endpoint_ring(struct xhci_hcd *xhci,
2054 struct xhci_stream_info *xhci_alloc_stream_info(struct xhci_hcd *xhci,
2058 void xhci_free_stream_info(struct xhci_hcd *xhci,
2060 void xhci_setup_streams_ep_input_ctx(struct xhci_hcd *xhci,
2065 void xhci_free_device_endpoint_resources(struct xhci_hcd *xhci,
2074 struct xhci_command *xhci_alloc_command(struct xhci_hcd *xhci,
2076 struct xhci_command *xhci_alloc_command_with_ctx(struct xhci_hcd *xhci,
2079 void xhci_free_command(struct xhci_hcd *xhci,
2081 struct xhci_container_ctx *xhci_alloc_container_ctx(struct xhci_hcd *xhci,
2083 void xhci_free_container_ctx(struct xhci_hcd *xhci,
2087 typedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *);
2089 void xhci_quiesce(struct xhci_hcd *xhci);
2090 int xhci_halt(struct xhci_hcd *xhci);
2091 int xhci_start(struct xhci_hcd *xhci);
2092 int xhci_reset(struct xhci_hcd *xhci, u64 timeout_us);
2102 int xhci_disable_slot(struct xhci_hcd *xhci, u32 slot_id);
2103 int xhci_ext_cap_init(struct xhci_hcd *xhci);
2105 int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup);
2106 int xhci_resume(struct xhci_hcd *xhci, bool hibernated);
2111 int xhci_alloc_tt_info(struct xhci_hcd *xhci,
2118 struct xhci_segment *trb_in_td(struct xhci_hcd *xhci,
2121 int xhci_is_vendor_info_code(struct xhci_hcd *xhci, unsigned int trb_comp_code);
2122 void xhci_ring_cmd_db(struct xhci_hcd *xhci);
2123 int xhci_queue_slot_control(struct xhci_hcd *xhci, struct xhci_command *cmd,
2125 int xhci_queue_address_device(struct xhci_hcd *xhci, struct xhci_command *cmd,
2127 int xhci_queue_vendor_command(struct xhci_hcd *xhci, struct xhci_command *cmd,
2129 int xhci_queue_stop_endpoint(struct xhci_hcd *xhci, struct xhci_command *cmd,
2131 int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb,
2133 int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb,
2135 int xhci_queue_intr_tx(struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb,
2137 int xhci_queue_isoc_tx_prepare(struct xhci_hcd *xhci, gfp_t mem_flags,
2139 int xhci_queue_configure_endpoint(struct xhci_hcd *xhci,
2142 int xhci_queue_evaluate_context(struct xhci_hcd *xhci, struct xhci_command *cmd,
2144 int xhci_queue_reset_ep(struct xhci_hcd *xhci, struct xhci_command *cmd,
2147 int xhci_queue_reset_device(struct xhci_hcd *xhci, struct xhci_command *cmd,
2149 void xhci_find_new_dequeue_state(struct xhci_hcd *xhci,
2153 void xhci_queue_new_dequeue_state(struct xhci_hcd *xhci,
2156 void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci, unsigned int slot_id,
2162 void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id,
2164 void xhci_ring_doorbell_for_active_rings(struct xhci_hcd *xhci,
2167 void xhci_cleanup_command_queue(struct xhci_hcd *xhci);
2168 void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring);
2172 void xhci_set_link_state(struct xhci_hcd *xhci, struct xhci_port *port,
2174 void xhci_test_and_clear_bit(struct xhci_hcd *xhci, struct xhci_port *port,
2182 void xhci_hc_died(struct xhci_hcd *xhci);
2195 int xhci_find_slot_id_by_port(struct usb_hcd *hcd, struct xhci_hcd *xhci,
2197 void xhci_ring_device(struct xhci_hcd *xhci, int slot_id);
2201 struct xhci_slot_ctx *xhci_get_slot_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx);
2202 struct xhci_ep_ctx *xhci_get_ep_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int ep_index);
2204 struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
2208 static inline struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,