diff options
Diffstat (limited to 'drivers/usb/host/ehci.h')
-rw-r--r-- | drivers/usb/host/ehci.h | 39 |
1 files changed, 4 insertions, 35 deletions
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index 262b00c9b334..6cff195e1a36 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h | |||
@@ -190,40 +190,6 @@ timer_action_done (struct ehci_hcd *ehci, enum ehci_timer_action action) | |||
190 | clear_bit (action, &ehci->actions); | 190 | clear_bit (action, &ehci->actions); |
191 | } | 191 | } |
192 | 192 | ||
193 | static inline void | ||
194 | timer_action (struct ehci_hcd *ehci, enum ehci_timer_action action) | ||
195 | { | ||
196 | /* Don't override timeouts which shrink or (later) disable | ||
197 | * the async ring; just the I/O watchdog. Note that if a | ||
198 | * SHRINK were pending, OFF would never be requested. | ||
199 | */ | ||
200 | if (timer_pending(&ehci->watchdog) | ||
201 | && ((BIT(TIMER_ASYNC_SHRINK) | BIT(TIMER_ASYNC_OFF)) | ||
202 | & ehci->actions)) | ||
203 | return; | ||
204 | |||
205 | if (!test_and_set_bit (action, &ehci->actions)) { | ||
206 | unsigned long t; | ||
207 | |||
208 | switch (action) { | ||
209 | case TIMER_IO_WATCHDOG: | ||
210 | t = EHCI_IO_JIFFIES; | ||
211 | break; | ||
212 | case TIMER_ASYNC_OFF: | ||
213 | t = EHCI_ASYNC_JIFFIES; | ||
214 | break; | ||
215 | // case TIMER_ASYNC_SHRINK: | ||
216 | default: | ||
217 | /* add a jiffie since we synch against the | ||
218 | * 8 KHz uframe counter. | ||
219 | */ | ||
220 | t = DIV_ROUND_UP(EHCI_SHRINK_FRAMES * HZ, 1000) + 1; | ||
221 | break; | ||
222 | } | ||
223 | mod_timer(&ehci->watchdog, t + jiffies); | ||
224 | } | ||
225 | } | ||
226 | |||
227 | static void free_cached_itd_list(struct ehci_hcd *ehci); | 193 | static void free_cached_itd_list(struct ehci_hcd *ehci); |
228 | 194 | ||
229 | /*-------------------------------------------------------------------------*/ | 195 | /*-------------------------------------------------------------------------*/ |
@@ -287,7 +253,7 @@ struct ehci_qtd { | |||
287 | 253 | ||
288 | /* | 254 | /* |
289 | * Now the following defines are not converted using the | 255 | * Now the following defines are not converted using the |
290 | * __constant_cpu_to_le32() macro anymore, since we have to support | 256 | * cpu_to_le32() macro anymore, since we have to support |
291 | * "dynamic" switching between be and le support, so that the driver | 257 | * "dynamic" switching between be and le support, so that the driver |
292 | * can be used on one system with SoC EHCI controller using big-endian | 258 | * can be used on one system with SoC EHCI controller using big-endian |
293 | * descriptors as well as a normal little-endian PCI EHCI controller. | 259 | * descriptors as well as a normal little-endian PCI EHCI controller. |
@@ -376,6 +342,9 @@ struct ehci_qh { | |||
376 | #define QH_STATE_UNLINK_WAIT 4 /* LINKED and on reclaim q */ | 342 | #define QH_STATE_UNLINK_WAIT 4 /* LINKED and on reclaim q */ |
377 | #define QH_STATE_COMPLETING 5 /* don't touch token.HALT */ | 343 | #define QH_STATE_COMPLETING 5 /* don't touch token.HALT */ |
378 | 344 | ||
345 | u8 xacterrs; /* XactErr retry counter */ | ||
346 | #define QH_XACTERR_MAX 32 /* XactErr retry limit */ | ||
347 | |||
379 | /* periodic schedule info */ | 348 | /* periodic schedule info */ |
380 | u8 usecs; /* intr bandwidth */ | 349 | u8 usecs; /* intr bandwidth */ |
381 | u8 gap_uf; /* uframes split/csplit gap */ | 350 | u8 gap_uf; /* uframes split/csplit gap */ |