diff options
Diffstat (limited to 'drivers/usb/chipidea/debug.c')
| -rw-r--r-- | drivers/usb/chipidea/debug.c | 61 | 
1 files changed, 33 insertions, 28 deletions
| diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c index 36a7063a6cba..96d899aee473 100644 --- a/drivers/usb/chipidea/debug.c +++ b/drivers/usb/chipidea/debug.c @@ -18,7 +18,7 @@   */  static int ci_device_show(struct seq_file *s, void *data)  { -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	struct usb_gadget *gadget = &ci->gadget;  	seq_printf(s, "speed             = %d\n", gadget->speed); @@ -58,7 +58,7 @@ static const struct file_operations ci_device_fops = {   */  static int ci_port_test_show(struct seq_file *s, void *data)  { -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	unsigned long flags;  	unsigned mode; @@ -78,7 +78,7 @@ static ssize_t ci_port_test_write(struct file *file, const char __user *ubuf,  				  size_t count, loff_t *ppos)  {  	struct seq_file *s = file->private_data; -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	unsigned long flags;  	unsigned mode;  	char buf[32]; @@ -115,7 +115,7 @@ static const struct file_operations ci_port_test_fops = {   */  static int ci_qheads_show(struct seq_file *s, void *data)  { -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	unsigned long flags;  	unsigned i, j; @@ -126,15 +126,15 @@ static int ci_qheads_show(struct seq_file *s, void *data)  	spin_lock_irqsave(&ci->lock, flags);  	for (i = 0; i < ci->hw_ep_max/2; i++) { -		struct ci13xxx_ep *mEpRx = &ci->ci13xxx_ep[i]; -		struct ci13xxx_ep *mEpTx = -			&ci->ci13xxx_ep[i + ci->hw_ep_max/2]; +		struct ci_hw_ep *hweprx = &ci->ci_hw_ep[i]; +		struct ci_hw_ep *hweptx = +			&ci->ci_hw_ep[i + ci->hw_ep_max/2];  		seq_printf(s, "EP=%02i: RX=%08X TX=%08X\n", -			   i, (u32)mEpRx->qh.dma, (u32)mEpTx->qh.dma); -		for (j = 0; j < (sizeof(struct ci13xxx_qh)/sizeof(u32)); j++) +			   i, (u32)hweprx->qh.dma, (u32)hweptx->qh.dma); +		for (j = 0; j < (sizeof(struct ci_hw_qh)/sizeof(u32)); j++)  			seq_printf(s, " %04X:    %08X    %08X\n", j, -				   *((u32 *)mEpRx->qh.ptr + j), -				   *((u32 *)mEpTx->qh.ptr + j)); +				   *((u32 *)hweprx->qh.ptr + j), +				   *((u32 *)hweptx->qh.ptr + j));  	}  	spin_unlock_irqrestore(&ci->lock, flags); @@ -158,11 +158,12 @@ static const struct file_operations ci_qheads_fops = {   */  static int ci_requests_show(struct seq_file *s, void *data)  { -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	unsigned long flags;  	struct list_head   *ptr = NULL; -	struct ci13xxx_req *req = NULL; -	unsigned i, j, qsize = sizeof(struct ci13xxx_td)/sizeof(u32); +	struct ci_hw_req *req = NULL; +	struct td_node *node, *tmpnode; +	unsigned i, j, qsize = sizeof(struct ci_hw_td)/sizeof(u32);  	if (ci->role != CI_ROLE_GADGET) {  		seq_printf(s, "not in gadget mode\n"); @@ -171,16 +172,20 @@ static int ci_requests_show(struct seq_file *s, void *data)  	spin_lock_irqsave(&ci->lock, flags);  	for (i = 0; i < ci->hw_ep_max; i++) -		list_for_each(ptr, &ci->ci13xxx_ep[i].qh.queue) { -			req = list_entry(ptr, struct ci13xxx_req, queue); - -			seq_printf(s, "EP=%02i: TD=%08X %s\n", -				   i % (ci->hw_ep_max / 2), (u32)req->dma, -				   ((i < ci->hw_ep_max/2) ? "RX" : "TX")); - -			for (j = 0; j < qsize; j++) -				seq_printf(s, " %04X:    %08X\n", j, -					   *((u32 *)req->ptr + j)); +		list_for_each(ptr, &ci->ci_hw_ep[i].qh.queue) { +			req = list_entry(ptr, struct ci_hw_req, queue); + +			list_for_each_entry_safe(node, tmpnode, &req->tds, td) { +				seq_printf(s, "EP=%02i: TD=%08X %s\n", +					   i % (ci->hw_ep_max / 2), +					   (u32)node->dma, +					   ((i < ci->hw_ep_max/2) ? +					   "RX" : "TX")); + +				for (j = 0; j < qsize; j++) +					seq_printf(s, " %04X:    %08X\n", j, +						   *((u32 *)node->ptr + j)); +			}  		}  	spin_unlock_irqrestore(&ci->lock, flags); @@ -201,7 +206,7 @@ static const struct file_operations ci_requests_fops = {  static int ci_role_show(struct seq_file *s, void *data)  { -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	seq_printf(s, "%s\n", ci_role(ci)->name); @@ -212,7 +217,7 @@ static ssize_t ci_role_write(struct file *file, const char __user *ubuf,  			     size_t count, loff_t *ppos)  {  	struct seq_file *s = file->private_data; -	struct ci13xxx *ci = s->private; +	struct ci_hdrc *ci = s->private;  	enum ci_role role;  	char buf[8];  	int ret; @@ -254,7 +259,7 @@ static const struct file_operations ci_role_fops = {   *   * This function returns an error code   */ -int dbg_create_files(struct ci13xxx *ci) +int dbg_create_files(struct ci_hdrc *ci)  {  	struct dentry *dent; @@ -295,7 +300,7 @@ err:   * dbg_remove_files: destroys the attribute interface   * @ci: device   */ -void dbg_remove_files(struct ci13xxx *ci) +void dbg_remove_files(struct ci_hdrc *ci)  {  	debugfs_remove_recursive(ci->debugfs);  } |