diff options
Diffstat (limited to 'drivers/usb/host/ehci.h')
-rw-r--r-- | drivers/usb/host/ehci.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index c462d52ac575..08637183aad0 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h | |||
@@ -117,6 +117,7 @@ struct ehci_hcd { /* one per controller */ | |||
117 | bool need_rescan:1; | 117 | bool need_rescan:1; |
118 | bool intr_unlinking:1; | 118 | bool intr_unlinking:1; |
119 | bool async_unlinking:1; | 119 | bool async_unlinking:1; |
120 | struct ehci_qh *qh_scan_next; | ||
120 | 121 | ||
121 | /* async schedule support */ | 122 | /* async schedule support */ |
122 | struct ehci_qh *async; | 123 | struct ehci_qh *async; |
@@ -124,7 +125,6 @@ struct ehci_hcd { /* one per controller */ | |||
124 | struct ehci_qh *async_unlink; | 125 | struct ehci_qh *async_unlink; |
125 | struct ehci_qh *async_unlink_last; | 126 | struct ehci_qh *async_unlink_last; |
126 | struct ehci_qh *async_iaa; | 127 | struct ehci_qh *async_iaa; |
127 | struct ehci_qh *qh_scan_next; | ||
128 | unsigned async_unlink_cycle; | 128 | unsigned async_unlink_cycle; |
129 | unsigned async_count; /* async activity count */ | 129 | unsigned async_count; /* async activity count */ |
130 | 130 | ||
@@ -133,6 +133,7 @@ struct ehci_hcd { /* one per controller */ | |||
133 | unsigned periodic_size; | 133 | unsigned periodic_size; |
134 | __hc32 *periodic; /* hw periodic table */ | 134 | __hc32 *periodic; /* hw periodic table */ |
135 | dma_addr_t periodic_dma; | 135 | dma_addr_t periodic_dma; |
136 | struct list_head intr_qh_list; | ||
136 | unsigned i_thresh; /* uframes HC might cache */ | 137 | unsigned i_thresh; /* uframes HC might cache */ |
137 | 138 | ||
138 | union ehci_shadow *pshadow; /* mirror hw periodic table */ | 139 | union ehci_shadow *pshadow; /* mirror hw periodic table */ |
@@ -140,6 +141,8 @@ struct ehci_hcd { /* one per controller */ | |||
140 | struct ehci_qh *intr_unlink_last; | 141 | struct ehci_qh *intr_unlink_last; |
141 | unsigned intr_unlink_cycle; | 142 | unsigned intr_unlink_cycle; |
142 | int next_uframe; /* scan periodic, start here */ | 143 | int next_uframe; /* scan periodic, start here */ |
144 | unsigned intr_count; /* intr activity count */ | ||
145 | unsigned isoc_count; /* isoc activity count */ | ||
143 | unsigned periodic_count; /* periodic activity count */ | 146 | unsigned periodic_count; /* periodic activity count */ |
144 | unsigned uframe_periodic_max; /* max periodic time per uframe */ | 147 | unsigned uframe_periodic_max; /* max periodic time per uframe */ |
145 | 148 | ||
@@ -176,7 +179,6 @@ struct ehci_hcd { /* one per controller */ | |||
176 | 179 | ||
177 | struct timer_list watchdog; | 180 | struct timer_list watchdog; |
178 | unsigned long actions; | 181 | unsigned long actions; |
179 | unsigned periodic_stamp; | ||
180 | unsigned random_frame; | 182 | unsigned random_frame; |
181 | unsigned long next_statechange; | 183 | unsigned long next_statechange; |
182 | ktime_t last_periodic_enable; | 184 | ktime_t last_periodic_enable; |
@@ -381,11 +383,11 @@ struct ehci_qh { | |||
381 | dma_addr_t qh_dma; /* address of qh */ | 383 | dma_addr_t qh_dma; /* address of qh */ |
382 | union ehci_shadow qh_next; /* ptr to qh; or periodic */ | 384 | union ehci_shadow qh_next; /* ptr to qh; or periodic */ |
383 | struct list_head qtd_list; /* sw qtd list */ | 385 | struct list_head qtd_list; /* sw qtd list */ |
386 | struct list_head intr_node; /* list of intr QHs */ | ||
384 | struct ehci_qtd *dummy; | 387 | struct ehci_qtd *dummy; |
385 | struct ehci_qh *unlink_next; /* next on unlink list */ | 388 | struct ehci_qh *unlink_next; /* next on unlink list */ |
386 | 389 | ||
387 | unsigned unlink_cycle; | 390 | unsigned unlink_cycle; |
388 | unsigned stamp; | ||
389 | 391 | ||
390 | u8 needs_rescan; /* Dequeue during giveback */ | 392 | u8 needs_rescan; /* Dequeue during giveback */ |
391 | u8 qh_state; | 393 | u8 qh_state; |