diff options
Diffstat (limited to 'drivers/usb/host/ehci.h')
-rw-r--r-- | drivers/usb/host/ehci.h | 16 |
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 | /*-------------------------------------------------------------------------*/ |