Lines Matching defs:ehci_hcd
123 struct ehci_hcd { /* one per controller */ struct
125 enum ehci_hrtimer_event next_hrtimer_event;
126 unsigned enabled_hrtimer_events;
127 ktime_t hr_timeouts[EHCI_HRTIMER_NUM_EVENTS];
128 struct hrtimer hrtimer;
130 int PSS_poll_count;
131 int ASS_poll_count;
132 int died_poll_count;
135 struct ehci_caps __iomem *caps;
136 struct ehci_regs __iomem *regs;
137 struct ehci_dbg_port __iomem *debug;
139 __u32 hcs_params; /* cached register copy */
140 spinlock_t lock;
141 enum ehci_rh_state rh_state;
144 bool scanning:1;
145 bool need_rescan:1;
146 bool intr_unlinking:1;
147 bool iaa_in_progress:1;
148 bool async_unlinking:1;
149 bool shutdown:1;
150 struct ehci_qh *qh_scan_next;
153 struct ehci_qh *async;
154 struct ehci_qh *dummy; /* For AMD quirk use */
155 struct list_head async_unlink;
156 struct list_head async_idle;
157 unsigned async_unlink_cycle;
158 unsigned async_count; /* async activity count */
162 unsigned periodic_size;
163 __hc32 *periodic; /* hw periodic table */
164 dma_addr_t periodic_dma;
165 struct list_head intr_qh_list;
166 unsigned i_thresh; /* uframes HC might cache */
168 union ehci_shadow *pshadow; /* mirror hw periodic table */
169 struct list_head intr_unlink_wait;
170 struct list_head intr_unlink;
171 unsigned intr_unlink_wait_cycle;
172 unsigned intr_unlink_cycle;
173 unsigned now_frame; /* frame from HC hardware */
174 unsigned last_iso_frame; /* last frame scanned for iso */
175 unsigned intr_count; /* intr activity count */
176 unsigned isoc_count; /* isoc activity count */
177 unsigned periodic_count; /* periodic activity count */
178 unsigned uframe_periodic_max; /* max periodic time per uframe */
182 struct list_head cached_itd_list;
183 struct ehci_itd *last_itd_to_free;
184 struct list_head cached_sitd_list;
185 struct ehci_sitd *last_sitd_to_free;
188 unsigned long reset_done [EHCI_MAX_ROOT_PORTS];
191 unsigned long bus_suspended; /* which ports were
193 unsigned long companion_ports; /* which ports are
195 unsigned long owned_ports; /* which ports are
197 unsigned long port_c_suspend; /* which ports have
199 unsigned long suspended_ports; /* which ports are
201 unsigned long resuming_ports; /* which ports have
205 struct dma_pool *qh_pool; /* qh per active urb */
206 struct dma_pool *qtd_pool; /* one or more per qh */
207 struct dma_pool *itd_pool; /* itd per iso urb */
208 struct dma_pool *sitd_pool; /* sitd per split iso urb */
210 unsigned random_frame;
211 unsigned long next_statechange;
212 ktime_t last_periodic_enable;
213 u32 command;
216 unsigned no_selective_suspend:1;
217 unsigned has_fsl_port_bug:1; /* FreeScale */
218 unsigned has_fsl_hs_errata:1; /* Freescale HS quirk */
219 unsigned big_endian_mmio:1;
220 unsigned big_endian_desc:1;
221 unsigned big_endian_capbase:1;
222 unsigned has_amcc_usb23:1;
223 unsigned need_io_watchdog:1;
224 unsigned amd_pll_fix:1;
225 unsigned use_dummy_qh:1; /* AMD Frame List table quirk*/
226 unsigned has_synopsys_hc_bug:1; /* Synopsys HC */
227 unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */
228 unsigned need_oc_pp_cycle:1; /* MPC834X port power */
229 unsigned imx28_write_fix:1; /* For Freescale i.MX28 */
238 __hc32 *ohci_hcctrl_reg;
239 unsigned has_hostpc:1;
240 unsigned has_tdi_phy_lpm:1;
241 unsigned has_ppcd:1; /* support per-port change bits */
242 u8 sbrn; /* packed release number */
246 struct ehci_stats stats;
271 static inline struct ehci_hcd *hcd_to_ehci (struct usb_hcd *hcd) in hcd_to_ehci() argument