diff options
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r-- | drivers/usb/host/xhci.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index af15b903e061..050f07b1e790 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h | |||
@@ -797,7 +797,9 @@ struct xhci_virt_ep { | |||
797 | * process the missed tds on the endpoint ring. | 797 | * process the missed tds on the endpoint ring. |
798 | */ | 798 | */ |
799 | bool skip; | 799 | bool skip; |
800 | /* Bandwidth checking storage */ | ||
800 | struct xhci_bw_info bw_info; | 801 | struct xhci_bw_info bw_info; |
802 | struct list_head bw_endpoint_list; | ||
801 | }; | 803 | }; |
802 | 804 | ||
803 | enum xhci_overhead_type { | 805 | enum xhci_overhead_type { |
@@ -808,6 +810,10 @@ enum xhci_overhead_type { | |||
808 | 810 | ||
809 | struct xhci_interval_bw { | 811 | struct xhci_interval_bw { |
810 | unsigned int num_packets; | 812 | unsigned int num_packets; |
813 | /* Sorted by max packet size. | ||
814 | * Head of the list is the greatest max packet size. | ||
815 | */ | ||
816 | struct list_head endpoints; | ||
811 | /* How many endpoints of each speed are present. */ | 817 | /* How many endpoints of each speed are present. */ |
812 | unsigned int overhead[3]; | 818 | unsigned int overhead[3]; |
813 | }; | 819 | }; |
@@ -1511,6 +1517,15 @@ unsigned int xhci_get_endpoint_flag(struct usb_endpoint_descriptor *desc); | |||
1511 | unsigned int xhci_get_endpoint_flag_from_index(unsigned int ep_index); | 1517 | unsigned int xhci_get_endpoint_flag_from_index(unsigned int ep_index); |
1512 | unsigned int xhci_last_valid_endpoint(u32 added_ctxs); | 1518 | unsigned int xhci_last_valid_endpoint(u32 added_ctxs); |
1513 | void xhci_endpoint_zero(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep); | 1519 | void xhci_endpoint_zero(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep); |
1520 | void xhci_drop_ep_from_interval_table(struct xhci_hcd *xhci, | ||
1521 | struct xhci_bw_info *ep_bw, | ||
1522 | struct xhci_interval_bw_table *bw_table, | ||
1523 | struct usb_device *udev, | ||
1524 | struct xhci_virt_ep *virt_ep, | ||
1525 | struct xhci_tt_bw_info *tt_info); | ||
1526 | void xhci_update_tt_active_eps(struct xhci_hcd *xhci, | ||
1527 | struct xhci_virt_device *virt_dev, | ||
1528 | int old_active_eps); | ||
1514 | void xhci_clear_endpoint_bw_info(struct xhci_bw_info *bw_info); | 1529 | void xhci_clear_endpoint_bw_info(struct xhci_bw_info *bw_info); |
1515 | void xhci_update_bw_info(struct xhci_hcd *xhci, | 1530 | void xhci_update_bw_info(struct xhci_hcd *xhci, |
1516 | struct xhci_container_ctx *in_ctx, | 1531 | struct xhci_container_ctx *in_ctx, |