Lines Matching refs:imx21
27 static inline void create_debug_files(struct imx21 *imx21) { } in create_debug_files() argument
28 static inline void remove_debug_files(struct imx21 *imx21) { } in remove_debug_files() argument
29 static inline void debug_urb_submitted(struct imx21 *imx21, struct urb *urb) {} in debug_urb_submitted() argument
30 static inline void debug_urb_completed(struct imx21 *imx21, struct urb *urb, in debug_urb_completed() argument
32 static inline void debug_urb_unlinked(struct imx21 *imx21, struct urb *urb) {} in debug_urb_unlinked() argument
33 static inline void debug_urb_queued_for_etd(struct imx21 *imx21, in debug_urb_queued_for_etd() argument
35 static inline void debug_urb_queued_for_dmem(struct imx21 *imx21, in debug_urb_queued_for_dmem() argument
37 static inline void debug_etd_allocated(struct imx21 *imx21) {} in debug_etd_allocated() argument
38 static inline void debug_etd_freed(struct imx21 *imx21) {} in debug_etd_freed() argument
39 static inline void debug_dmem_allocated(struct imx21 *imx21, int size) {} in debug_dmem_allocated() argument
40 static inline void debug_dmem_freed(struct imx21 *imx21, int size) {} in debug_dmem_freed() argument
41 static inline void debug_isoc_submitted(struct imx21 *imx21, in debug_isoc_submitted() argument
43 static inline void debug_isoc_completed(struct imx21 *imx21, in debug_isoc_completed() argument
70 static inline struct debug_stats *stats_for_urb(struct imx21 *imx21, in stats_for_urb() argument
74 &imx21->isoc_stats : &imx21->nonisoc_stats; in stats_for_urb()
77 static void debug_urb_submitted(struct imx21 *imx21, struct urb *urb) in debug_urb_submitted() argument
79 stats_for_urb(imx21, urb)->submitted++; in debug_urb_submitted()
82 static void debug_urb_completed(struct imx21 *imx21, struct urb *urb, int st) in debug_urb_completed() argument
85 stats_for_urb(imx21, urb)->completed_failed++; in debug_urb_completed()
87 stats_for_urb(imx21, urb)->completed_ok++; in debug_urb_completed()
90 static void debug_urb_unlinked(struct imx21 *imx21, struct urb *urb) in debug_urb_unlinked() argument
92 stats_for_urb(imx21, urb)->unlinked++; in debug_urb_unlinked()
95 static void debug_urb_queued_for_etd(struct imx21 *imx21, struct urb *urb) in debug_urb_queued_for_etd() argument
97 stats_for_urb(imx21, urb)->queue_etd++; in debug_urb_queued_for_etd()
100 static void debug_urb_queued_for_dmem(struct imx21 *imx21, struct urb *urb) in debug_urb_queued_for_dmem() argument
102 stats_for_urb(imx21, urb)->queue_dmem++; in debug_urb_queued_for_dmem()
105 static inline void debug_etd_allocated(struct imx21 *imx21) in debug_etd_allocated() argument
107 imx21->etd_usage.maximum = max( in debug_etd_allocated()
108 ++(imx21->etd_usage.value), in debug_etd_allocated()
109 imx21->etd_usage.maximum); in debug_etd_allocated()
112 static inline void debug_etd_freed(struct imx21 *imx21) in debug_etd_freed() argument
114 imx21->etd_usage.value--; in debug_etd_freed()
117 static inline void debug_dmem_allocated(struct imx21 *imx21, int size) in debug_dmem_allocated() argument
119 imx21->dmem_usage.value += size; in debug_dmem_allocated()
120 imx21->dmem_usage.maximum = max( in debug_dmem_allocated()
121 imx21->dmem_usage.value, in debug_dmem_allocated()
122 imx21->dmem_usage.maximum); in debug_dmem_allocated()
125 static inline void debug_dmem_freed(struct imx21 *imx21, int size) in debug_dmem_freed() argument
127 imx21->dmem_usage.value -= size; in debug_dmem_freed()
131 static void debug_isoc_submitted(struct imx21 *imx21, in debug_isoc_submitted() argument
134 struct debug_isoc_trace *trace = &imx21->isoc_trace[ in debug_isoc_submitted()
135 imx21->isoc_trace_index++]; in debug_isoc_submitted()
137 imx21->isoc_trace_index %= ARRAY_SIZE(imx21->isoc_trace); in debug_isoc_submitted()
144 static inline void debug_isoc_completed(struct imx21 *imx21, in debug_isoc_completed() argument
151 trace = imx21->isoc_trace; in debug_isoc_completed()
152 for (i = 0; i < ARRAY_SIZE(imx21->isoc_trace); i++, trace++) { in debug_isoc_completed()
164 trace_failed = &imx21->isoc_trace_failed[ in debug_isoc_completed()
165 imx21->isoc_trace_index_failed++]; in debug_isoc_completed()
167 imx21->isoc_trace_index_failed %= ARRAY_SIZE( in debug_isoc_completed()
168 imx21->isoc_trace_failed); in debug_isoc_completed()
201 struct imx21 *imx21 = s->private; in debug_status_show() local
216 spin_lock_irqsave(&imx21->lock, flags); in debug_status_show()
218 etd_enable_mask = readl(imx21->regs + USBH_ETDENSET); in debug_status_show()
219 for (i = 0, etd = imx21->etd; i < USB_NUM_ETD; i++, etd++) { in debug_status_show()
228 list_for_each_entry(dmem, &imx21->dmem_list, list) { in debug_status_show()
233 list_for_each_entry(ep_priv, &imx21->queue_for_etd, queue) in debug_status_show()
236 list_for_each_entry(etd, &imx21->queue_for_dmem, queue) in debug_status_show()
239 spin_unlock_irqrestore(&imx21->lock, flags); in debug_status_show()
250 readl(imx21->regs + USBH_FRMNUB) & 0xFFFF, in debug_status_show()
251 etds_allocated, USB_NUM_ETD, imx21->etd_usage.maximum, in debug_status_show()
254 dmem_bytes, DMEM_SIZE, imx21->dmem_usage.maximum, in debug_status_show()
264 struct imx21 *imx21 = s->private; in debug_dmem_show() local
269 spin_lock_irqsave(&imx21->lock, flags); in debug_dmem_show()
271 list_for_each_entry(dmem, &imx21->dmem_list, list) in debug_dmem_show()
278 spin_unlock_irqrestore(&imx21->lock, flags); in debug_dmem_show()
285 struct imx21 *imx21 = s->private; in debug_etd_show() local
292 spin_lock_irqsave(&imx21->lock, flags); in debug_etd_show()
294 for (i = 0, etd = imx21->etd; i < USB_NUM_ETD; i++, etd++) { in debug_etd_show()
318 (readl(imx21->regs + USBH_ETDENSET) & (1 << i)) > 0, in debug_etd_show()
323 dword = etd_readl(imx21, i, j); in debug_etd_show()
346 spin_unlock_irqrestore(&imx21->lock, flags); in debug_etd_show()
372 struct imx21 *imx21 = s->private; in debug_statistics_show() local
375 spin_lock_irqsave(&imx21->lock, flags); in debug_statistics_show()
377 debug_statistics_show_one(s, "nonisoc", &imx21->nonisoc_stats); in debug_statistics_show()
378 debug_statistics_show_one(s, "isoc", &imx21->isoc_stats); in debug_statistics_show()
379 seq_printf(s, "unblock kludge triggers: %lu\n", imx21->debug_unblocks); in debug_statistics_show()
380 spin_unlock_irqrestore(&imx21->lock, flags); in debug_statistics_show()
406 struct imx21 *imx21 = s->private; in debug_isoc_show() local
411 spin_lock_irqsave(&imx21->lock, flags); in debug_isoc_show()
413 trace = imx21->isoc_trace_failed; in debug_isoc_show()
414 for (i = 0; i < ARRAY_SIZE(imx21->isoc_trace_failed); i++, trace++) in debug_isoc_show()
417 trace = imx21->isoc_trace; in debug_isoc_show()
418 for (i = 0; i < ARRAY_SIZE(imx21->isoc_trace); i++, trace++) in debug_isoc_show()
421 spin_unlock_irqrestore(&imx21->lock, flags); in debug_isoc_show()
486 static void create_debug_files(struct imx21 *imx21) in create_debug_files() argument
488 imx21->debug_root = debugfs_create_dir(dev_name(imx21->dev), NULL); in create_debug_files()
489 if (!imx21->debug_root) in create_debug_files()
493 imx21->debug_root, imx21, &debug_status_fops)) in create_debug_files()
497 imx21->debug_root, imx21, &debug_dmem_fops)) in create_debug_files()
501 imx21->debug_root, imx21, &debug_etd_fops)) in create_debug_files()
505 imx21->debug_root, imx21, &debug_statistics_fops)) in create_debug_files()
509 imx21->debug_root, imx21, &debug_isoc_fops)) in create_debug_files()
515 debugfs_remove_recursive(imx21->debug_root); in create_debug_files()
518 imx21->debug_root = NULL; in create_debug_files()
522 static void remove_debug_files(struct imx21 *imx21) in remove_debug_files() argument
524 if (imx21->debug_root) { in remove_debug_files()
525 debugfs_remove_recursive(imx21->debug_root); in remove_debug_files()
526 imx21->debug_root = NULL; in remove_debug_files()