aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2011-08-29 13:56:35 +0200
committerFelipe Balbi <balbi@ti.com>2011-09-09 13:02:08 +0300
commite7225315a89731d0f986c20165184f1dc9a9bf2b (patch)
tree271096940ce4d6f0dad0e8ca2cede9318d983e60 /drivers/usb/dwc3
parentusb: dwc3: ep0: simplify EP0 state machine (diff)
downloadlinux-dev-e7225315a89731d0f986c20165184f1dc9a9bf2b.tar.xz
linux-dev-e7225315a89731d0f986c20165184f1dc9a9bf2b.zip
usb: dwc3: debugfs: remove test mode interface
There are some issues around for enabling/disabling this mode and handling it. It does not work perfectly (yet). However we have a few gadgets tested successfuly so far. That means we are quite confident that we won't need this in near future. So I'm for removing it and bringing a working version back once there is a need for it. Thanks to Dan Carpenter who spotted the wrong memory handling here. [ balbi@ti.com : made it actually apply ] Cc: Dan Carpenter <error27@gmail.com> Cc: wharms@bfs.de Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r--drivers/usb/dwc3/debugfs.c94
1 files changed, 0 insertions, 94 deletions
diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c
index dd861c499d28..20d329f23408 100644
--- a/drivers/usb/dwc3/debugfs.c
+++ b/drivers/usb/dwc3/debugfs.c
@@ -406,93 +406,6 @@ static const struct file_operations dwc3_regdump_fops = {
.release = single_release,
};
-
-static int dwc3_send_testmode_cmd(struct dwc3 *dwc, int mode)
-{
- u32 timeout = 250;
-
- dwc3_writel(dwc->regs, DWC3_DGCMDPAR, mode);
- dwc3_writel(dwc->regs, DWC3_DGCMD, DWC3_DGCMD_RUN_SOC_BUS_LOOPBACK |
- DWC3_DEPCMD_CMDACT);
- do {
- u32 reg;
-
- reg = dwc3_readl(dwc->regs, DWC3_DGCMD);
- if (!(reg & DWC3_DEPCMD_CMDACT))
- return 0;
- timeout--;
- if (!timeout)
- return -ETIMEDOUT;
- mdelay(1);
- } while (1);
-}
-
-static struct dwc3_trb_hw trb_0 __aligned(16);
-static struct dwc3_trb_hw trb_1 __aligned(16);
-
-#define BUF_SIZE 4096
-static int dwc3_testmode_open(struct inode *inode, struct file *file)
-{
- struct dwc3 *dwc = inode->i_private;
- struct dwc3_gadget_ep_cmd_params par0;
- struct dwc3_gadget_ep_cmd_params par1;
- struct dwc3_trb trb;
- int ret;
- u8 *buf0;
- u8 *buf1;
-
- buf0 = kmalloc(BUF_SIZE, GFP_KERNEL);
- if (!buf0)
- return -ENOMEM;
- buf1 = kmalloc(BUF_SIZE, GFP_KERNEL);
- if (!buf1) {
- kfree(buf0);
- return -ENOMEM;
- }
-
- memset(buf0, 0xaa, BUF_SIZE);
- memset(buf1, 0x33, BUF_SIZE);
-
- memset(&trb, 0, sizeof(trb));
- memset(&par0, 0, sizeof(par0));
- memset(&par1, 0, sizeof(par1));
-
- trb.lst = 1;
- trb.trbctl = DWC3_TRBCTL_NORMAL;
- trb.length = BUF_SIZE;
- trb.hwo = 1;
-
- trb.bplh = virt_to_phys(buf0);
- dwc3_trb_to_hw(&trb, &trb_0);
-
- trb.bplh = virt_to_phys(buf1);
- dwc3_trb_to_hw(&trb, &trb_1);
-
- par0.param0.depstrtxfer.transfer_desc_addr_high =
- upper_32_bits(virt_to_phys(&trb_0));
- par0.param1.depstrtxfer.transfer_desc_addr_low =
- lower_32_bits(virt_to_phys(&trb_0));
-
- par1.param0.depstrtxfer.transfer_desc_addr_high =
- upper_32_bits(virt_to_phys(&trb_1));
- par1.param1.depstrtxfer.transfer_desc_addr_low =
- lower_32_bits(virt_to_phys(&trb_1));
-
- dwc3_send_testmode_cmd(dwc, 1);
-
- ret = dwc3_send_gadget_ep_cmd(dwc, 0, DWC3_DEPCMD_STARTTRANSFER, &par0);
- ret = dwc3_send_gadget_ep_cmd(dwc, 1, DWC3_DEPCMD_STARTTRANSFER, &par1);
-
- dwc3_send_testmode_cmd(dwc, 0);
- return -EBUSY;
-}
-
-static const struct file_operations dwc3_testmode_fops = {
- .open = dwc3_testmode_open,
- .read = seq_read,
- .release = single_release,
-};
-
int __devinit dwc3_debugfs_init(struct dwc3 *dwc)
{
struct dentry *root;
@@ -513,13 +426,6 @@ int __devinit dwc3_debugfs_init(struct dwc3 *dwc)
ret = PTR_ERR(file);
goto err1;
}
- file = debugfs_create_file("testmode", S_IRUGO, root, dwc,
- &dwc3_testmode_fops);
- if (IS_ERR(file)) {
- ret = PTR_ERR(file);
- goto err1;
- }
-
return 0;
err1: