diff options
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r-- | drivers/usb/host/xhci.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 9c108c632704..d31d32206ba3 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h | |||
@@ -952,6 +952,12 @@ struct xhci_ring { | |||
952 | u32 cycle_state; | 952 | u32 cycle_state; |
953 | }; | 953 | }; |
954 | 954 | ||
955 | struct xhci_dequeue_state { | ||
956 | struct xhci_segment *new_deq_seg; | ||
957 | union xhci_trb *new_deq_ptr; | ||
958 | int new_cycle_state; | ||
959 | }; | ||
960 | |||
955 | struct xhci_erst_entry { | 961 | struct xhci_erst_entry { |
956 | /* 64-bit event ring segment address */ | 962 | /* 64-bit event ring segment address */ |
957 | u64 seg_addr; | 963 | u64 seg_addr; |
@@ -1203,6 +1209,12 @@ int xhci_queue_configure_endpoint(struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, | |||
1203 | u32 slot_id); | 1209 | u32 slot_id); |
1204 | int xhci_queue_reset_ep(struct xhci_hcd *xhci, int slot_id, | 1210 | int xhci_queue_reset_ep(struct xhci_hcd *xhci, int slot_id, |
1205 | unsigned int ep_index); | 1211 | unsigned int ep_index); |
1212 | void xhci_find_new_dequeue_state(struct xhci_hcd *xhci, | ||
1213 | unsigned int slot_id, unsigned int ep_index, | ||
1214 | struct xhci_td *cur_td, struct xhci_dequeue_state *state); | ||
1215 | void xhci_queue_new_dequeue_state(struct xhci_hcd *xhci, | ||
1216 | struct xhci_ring *ep_ring, unsigned int slot_id, | ||
1217 | unsigned int ep_index, struct xhci_dequeue_state *deq_state); | ||
1206 | 1218 | ||
1207 | /* xHCI roothub code */ | 1219 | /* xHCI roothub code */ |
1208 | int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, | 1220 | int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, |