aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ehci.h')
-rw-r--r--drivers/usb/host/ehci.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index 36c3a8210595..7c978b23520d 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -121,6 +121,7 @@ struct ehci_hcd { /* one per controller */
121 bool scanning:1; 121 bool scanning:1;
122 bool need_rescan:1; 122 bool need_rescan:1;
123 bool intr_unlinking:1; 123 bool intr_unlinking:1;
124 bool iaa_in_progress:1;
124 bool async_unlinking:1; 125 bool async_unlinking:1;
125 bool shutdown:1; 126 bool shutdown:1;
126 struct ehci_qh *qh_scan_next; 127 struct ehci_qh *qh_scan_next;
@@ -128,9 +129,8 @@ struct ehci_hcd { /* one per controller */
128 /* async schedule support */ 129 /* async schedule support */
129 struct ehci_qh *async; 130 struct ehci_qh *async;
130 struct ehci_qh *dummy; /* For AMD quirk use */ 131 struct ehci_qh *dummy; /* For AMD quirk use */
131 struct ehci_qh *async_unlink; 132 struct list_head async_unlink;
132 struct ehci_qh *async_unlink_last; 133 struct list_head async_idle;
133 struct ehci_qh *async_iaa;
134 unsigned async_unlink_cycle; 134 unsigned async_unlink_cycle;
135 unsigned async_count; /* async activity count */ 135 unsigned async_count; /* async activity count */
136 136
@@ -143,8 +143,7 @@ struct ehci_hcd { /* one per controller */
143 unsigned i_thresh; /* uframes HC might cache */ 143 unsigned i_thresh; /* uframes HC might cache */
144 144
145 union ehci_shadow *pshadow; /* mirror hw periodic table */ 145 union ehci_shadow *pshadow; /* mirror hw periodic table */
146 struct ehci_qh *intr_unlink; 146 struct list_head intr_unlink;
147 struct ehci_qh *intr_unlink_last;
148 unsigned intr_unlink_cycle; 147 unsigned intr_unlink_cycle;
149 unsigned now_frame; /* frame from HC hardware */ 148 unsigned now_frame; /* frame from HC hardware */
150 unsigned last_iso_frame; /* last frame scanned for iso */ 149 unsigned last_iso_frame; /* last frame scanned for iso */
@@ -200,6 +199,7 @@ struct ehci_hcd { /* one per controller */
200 unsigned use_dummy_qh:1; /* AMD Frame List table quirk*/ 199 unsigned use_dummy_qh:1; /* AMD Frame List table quirk*/
201 unsigned has_synopsys_hc_bug:1; /* Synopsys HC */ 200 unsigned has_synopsys_hc_bug:1; /* Synopsys HC */
202 unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */ 201 unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */
202 unsigned need_oc_pp_cycle:1; /* MPC834X port power */
203 203
204 /* required for usb32 quirk */ 204 /* required for usb32 quirk */
205 #define OHCI_CTRL_HCFS (3 << 6) 205 #define OHCI_CTRL_HCFS (3 << 6)
@@ -380,11 +380,10 @@ struct ehci_qh {
380 struct list_head qtd_list; /* sw qtd list */ 380 struct list_head qtd_list; /* sw qtd list */
381 struct list_head intr_node; /* list of intr QHs */ 381 struct list_head intr_node; /* list of intr QHs */
382 struct ehci_qtd *dummy; 382 struct ehci_qtd *dummy;
383 struct ehci_qh *unlink_next; /* next on unlink list */ 383 struct list_head unlink_node;
384 384
385 unsigned unlink_cycle; 385 unsigned unlink_cycle;
386 386
387 u8 needs_rescan; /* Dequeue during giveback */
388 u8 qh_state; 387 u8 qh_state;
389#define QH_STATE_LINKED 1 /* HC sees this */ 388#define QH_STATE_LINKED 1 /* HC sees this */
390#define QH_STATE_UNLINK 2 /* HC may still see this */ 389#define QH_STATE_UNLINK 2 /* HC may still see this */
@@ -407,6 +406,9 @@ struct ehci_qh {
407 struct usb_device *dev; /* access to TT */ 406 struct usb_device *dev; /* access to TT */
408 unsigned is_out:1; /* bulk or intr OUT */ 407 unsigned is_out:1; /* bulk or intr OUT */
409 unsigned clearing_tt:1; /* Clear-TT-Buf in progress */ 408 unsigned clearing_tt:1; /* Clear-TT-Buf in progress */
409 unsigned dequeue_during_giveback:1;
410 unsigned exception:1; /* got a fault, or an unlink
411 was requested */
410}; 412};
411 413
412/*-------------------------------------------------------------------------*/ 414/*-------------------------------------------------------------------------*/