Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1541964 > unrolled thread
| Started by | Pali Rohár <pali.rohar@gmail.com> |
|---|---|
| First post | 2016-12-14 16:00 +0100 |
| Last post | 2016-12-19 21:50 +0100 |
| Articles | 11 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Pali Rohár <pali.rohar@gmail.com> - 2016-12-14 16:00 +0100
Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Tony Lindgren <tony@atomide.com> - 2016-12-14 16:40 +0100
Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Pali Rohár <pali.rohar@gmail.com> - 2016-12-14 16:50 +0100
Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Tony Lindgren <tony@atomide.com> - 2016-12-14 17:00 +0100
Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-12-14 18:00 +0100
[PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Pali Rohár <pali.rohar@gmail.com> - 2016-12-14 20:30 +0100
Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode Bin Liu <b-liu@ti.com> - 2016-12-16 05:10 +0100
[PATCH v2] usb: musb: debugfs: allow forcing host mode together with speed in testmode Pali Rohár <pali.rohar@gmail.com> - 2016-12-18 01:10 +0100
Re: [PATCH v2] usb: musb: debugfs: allow forcing host mode together with speed in testmode Bin Liu <b-liu@ti.com> - 2016-12-19 16:20 +0100
[PATCH v3] usb: musb: debugfs: allow forcing host mode together with speed in testmode Pali Rohár <pali.rohar@gmail.com> - 2016-12-19 16:30 +0100
Re: [PATCH v3] usb: musb: debugfs: allow forcing host mode together with speed in testmode Bin Liu <b-liu@ti.com> - 2016-12-19 21:50 +0100
| From | Pali Rohár <pali.rohar@gmail.com> |
|---|---|
| Date | 2016-12-14 16:00 +0100 |
| Subject | [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sOjcd-7GR-7@gated-at.bofh.it> |
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
---
drivers/usb/musb/musb_debugfs.c | 44 +++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 16 deletions(-)
diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c
index 9b22d94..62c13a2 100644
--- a/drivers/usb/musb/musb_debugfs.c
+++ b/drivers/usb/musb/musb_debugfs.c
@@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused)
test = musb_readb(musb->mregs, MUSB_TESTMODE);
- if (test & MUSB_TEST_FORCE_HOST)
+ if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS))
+ seq_printf(s, "force host full-speed\n");
+
+ else if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS))
+ seq_printf(s, "force host high-speed\n");
+
+ else if (test & MUSB_TEST_FORCE_HOST)
seq_printf(s, "force host\n");
- if (test & MUSB_TEST_FIFO_ACCESS)
+ else if (test & MUSB_TEST_FIFO_ACCESS)
seq_printf(s, "fifo access\n");
- if (test & MUSB_TEST_FORCE_FS)
+ else if (test & MUSB_TEST_FORCE_FS)
seq_printf(s, "force full-speed\n");
- if (test & MUSB_TEST_FORCE_HS)
+ else if (test & MUSB_TEST_FORCE_HS)
seq_printf(s, "force high-speed\n");
- if (test & MUSB_TEST_PACKET)
+ else if (test & MUSB_TEST_PACKET)
seq_printf(s, "test packet\n");
- if (test & MUSB_TEST_K)
+ else if (test & MUSB_TEST_K)
seq_printf(s, "test K\n");
- if (test & MUSB_TEST_J)
+ else if (test & MUSB_TEST_J)
seq_printf(s, "test J\n");
- if (test & MUSB_TEST_SE0_NAK)
+ else if (test & MUSB_TEST_SE0_NAK)
seq_printf(s, "test SE0 NAK\n");
return 0;
@@ -206,30 +212,36 @@ static ssize_t musb_test_mode_write(struct file *file,
if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
return -EFAULT;
- if (strstarts(buf, "force host"))
+ if (strstarts(buf, "force host full-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS;
+
+ else if (strstarts(buf, "force host high-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS;
+
+ else if (strstarts(buf, "force host"))
test = MUSB_TEST_FORCE_HOST;
- if (strstarts(buf, "fifo access"))
+ else if (strstarts(buf, "fifo access"))
test = MUSB_TEST_FIFO_ACCESS;
- if (strstarts(buf, "force full-speed"))
+ else if (strstarts(buf, "force full-speed"))
test = MUSB_TEST_FORCE_FS;
- if (strstarts(buf, "force high-speed"))
+ else if (strstarts(buf, "force high-speed"))
test = MUSB_TEST_FORCE_HS;
- if (strstarts(buf, "test packet")) {
+ else if (strstarts(buf, "test packet")) {
test = MUSB_TEST_PACKET;
musb_load_testpacket(musb);
}
- if (strstarts(buf, "test K"))
+ else if (strstarts(buf, "test K"))
test = MUSB_TEST_K;
- if (strstarts(buf, "test J"))
+ else if (strstarts(buf, "test J"))
test = MUSB_TEST_J;
- if (strstarts(buf, "test SE0 NAK"))
+ else if (strstarts(buf, "test SE0 NAK"))
test = MUSB_TEST_SE0_NAK;
musb_writeb(musb->mregs, MUSB_TESTMODE, test);
--
1.7.9.5
[toc] | [next] | [standalone]
| From | Tony Lindgren <tony@atomide.com> |
|---|---|
| Date | 2016-12-14 16:40 +0100 |
| Subject | Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sOjOV-88T-21@gated-at.bofh.it> |
| In reply to | #1541964 |
* Pali Rohár <pali.rohar@gmail.com> [161214 06:48]: We need this because .... and this allows debugging problems related to ...? Regards, Tony
[toc] | [prev] | [next] | [standalone]
| From | Pali Rohár <pali.rohar@gmail.com> |
|---|---|
| Date | 2016-12-14 16:50 +0100 |
| Message-ID | <sOjYB-8ce-3@gated-at.bofh.it> |
| In reply to | #1541987 |
[Multipart message — attachments visible in raw view] — view raw
On Wednesday 14 December 2016 16:34:31 Tony Lindgren wrote: > * Pali Rohár <pali.rohar@gmail.com> [161214 06:48]: > > We need this because .... and this allows debugging problems related > to ...? Hi! We have already discussion about it, search for older email with Message-Id: <201601231357.32629@pali> After that in June, Bin wanted from me to resend patch with changed subject... but after that I forgot. Now I resent it. -- Pali Rohár pali.rohar@gmail.com
[toc] | [prev] | [next] | [standalone]
| From | Tony Lindgren <tony@atomide.com> |
|---|---|
| Date | 2016-12-14 17:00 +0100 |
| Subject | Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sOk8i-8fp-5@gated-at.bofh.it> |
| In reply to | #1541993 |
* Pali Rohár <pali.rohar@gmail.com> [161214 07:40]: > On Wednesday 14 December 2016 16:34:31 Tony Lindgren wrote: > > * Pali Rohár <pali.rohar@gmail.com> [161214 06:48]: > > > > We need this because .... and this allows debugging problems related > > to ...? > > Hi! We have already discussion about it, search for older email with > Message-Id: <201601231357.32629@pali> > > After that in June, Bin wanted from me to resend patch with changed > subject... but after that I forgot. Now I resent it. What I meant is that the patch description is missing :) Tony
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-12-14 18:00 +0100 |
| Subject | Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sOl4w-mI-31@gated-at.bofh.it> |
| In reply to | #1541964 |
On Wed, Dec 14, 2016 at 03:47:57PM +0100, Pali Rohár wrote: > Signed-off-by: Pali Rohár <pali.rohar@gmail.com> > --- > drivers/usb/musb/musb_debugfs.c | 44 +++++++++++++++++++++++++-------------- > 1 file changed, 28 insertions(+), 16 deletions(-) I don't accept patches without any changelog information, nor would I ever expect any other maintainer to do so. Please read Documentation/SubmittingPatches for how to write a good changelog message. thanks, greg k-h
[toc] | [prev] | [next] | [standalone]
| From | Pali Rohár <pali.rohar@gmail.com> |
|---|---|
| Date | 2016-12-14 20:30 +0100 |
| Message-ID | <sOnpv-2DO-11@gated-at.bofh.it> |
| In reply to | #1541964 |
Based on the musb ug, force_host bit is allowed to be set along with
force_hs or force_fs bit.
It could help to implement forced host mode via testmode on Nokia N900.
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
---
drivers/usb/musb/musb_debugfs.c | 44 +++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 16 deletions(-)
diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c
index 9b22d94..62c13a2 100644
--- a/drivers/usb/musb/musb_debugfs.c
+++ b/drivers/usb/musb/musb_debugfs.c
@@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused)
test = musb_readb(musb->mregs, MUSB_TESTMODE);
- if (test & MUSB_TEST_FORCE_HOST)
+ if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS))
+ seq_printf(s, "force host full-speed\n");
+
+ else if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS))
+ seq_printf(s, "force host high-speed\n");
+
+ else if (test & MUSB_TEST_FORCE_HOST)
seq_printf(s, "force host\n");
- if (test & MUSB_TEST_FIFO_ACCESS)
+ else if (test & MUSB_TEST_FIFO_ACCESS)
seq_printf(s, "fifo access\n");
- if (test & MUSB_TEST_FORCE_FS)
+ else if (test & MUSB_TEST_FORCE_FS)
seq_printf(s, "force full-speed\n");
- if (test & MUSB_TEST_FORCE_HS)
+ else if (test & MUSB_TEST_FORCE_HS)
seq_printf(s, "force high-speed\n");
- if (test & MUSB_TEST_PACKET)
+ else if (test & MUSB_TEST_PACKET)
seq_printf(s, "test packet\n");
- if (test & MUSB_TEST_K)
+ else if (test & MUSB_TEST_K)
seq_printf(s, "test K\n");
- if (test & MUSB_TEST_J)
+ else if (test & MUSB_TEST_J)
seq_printf(s, "test J\n");
- if (test & MUSB_TEST_SE0_NAK)
+ else if (test & MUSB_TEST_SE0_NAK)
seq_printf(s, "test SE0 NAK\n");
return 0;
@@ -206,30 +212,36 @@ static ssize_t musb_test_mode_write(struct file *file,
if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
return -EFAULT;
- if (strstarts(buf, "force host"))
+ if (strstarts(buf, "force host full-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS;
+
+ else if (strstarts(buf, "force host high-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS;
+
+ else if (strstarts(buf, "force host"))
test = MUSB_TEST_FORCE_HOST;
- if (strstarts(buf, "fifo access"))
+ else if (strstarts(buf, "fifo access"))
test = MUSB_TEST_FIFO_ACCESS;
- if (strstarts(buf, "force full-speed"))
+ else if (strstarts(buf, "force full-speed"))
test = MUSB_TEST_FORCE_FS;
- if (strstarts(buf, "force high-speed"))
+ else if (strstarts(buf, "force high-speed"))
test = MUSB_TEST_FORCE_HS;
- if (strstarts(buf, "test packet")) {
+ else if (strstarts(buf, "test packet")) {
test = MUSB_TEST_PACKET;
musb_load_testpacket(musb);
}
- if (strstarts(buf, "test K"))
+ else if (strstarts(buf, "test K"))
test = MUSB_TEST_K;
- if (strstarts(buf, "test J"))
+ else if (strstarts(buf, "test J"))
test = MUSB_TEST_J;
- if (strstarts(buf, "test SE0 NAK"))
+ else if (strstarts(buf, "test SE0 NAK"))
test = MUSB_TEST_SE0_NAK;
musb_writeb(musb->mregs, MUSB_TESTMODE, test);
--
1.7.9.5
[toc] | [prev] | [next] | [standalone]
| From | Bin Liu <b-liu@ti.com> |
|---|---|
| Date | 2016-12-16 05:10 +0100 |
| Subject | Re: [PATCH] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sOS0h-6D7-9@gated-at.bofh.it> |
| In reply to | #1542141 |
On Wed, Dec 14, 2016 at 08:23:45PM +0100, Pali Rohár wrote: > Based on the musb ug, force_host bit is allowed to be set along with > force_hs or force_fs bit. > > It could help to implement forced host mode via testmode on Nokia N900. > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com> > --- > drivers/usb/musb/musb_debugfs.c | 44 +++++++++++++++++++++++++-------------- > 1 file changed, 28 insertions(+), 16 deletions(-) > > diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c > index 9b22d94..62c13a2 100644 > --- a/drivers/usb/musb/musb_debugfs.c > +++ b/drivers/usb/musb/musb_debugfs.c > @@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused) > > test = musb_readb(musb->mregs, MUSB_TESTMODE); > > - if (test & MUSB_TEST_FORCE_HOST) > + if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS)) if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS) == MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS) or even simpler: if (test == MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS) since multiple tests at the same time are not allowed. > + seq_printf(s, "force host full-speed\n"); > + > + else if (test & (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS)) else if (test == MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS) Regards, -Bin.
[toc] | [prev] | [next] | [standalone]
| From | Pali Rohár <pali.rohar@gmail.com> |
|---|---|
| Date | 2016-12-18 01:10 +0100 |
| Subject | [PATCH v2] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sPxd8-8pt-11@gated-at.bofh.it> |
| In reply to | #1543199 |
Based on the musb ug, force_host bit is allowed to be set along with
force_hs or force_fs bit.
It could help to implement forced host mode via testmode on Nokia N900.
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
---
Changes in v2:
* Use == instead of & for comparison of testmode
---
drivers/usb/musb/musb_debugfs.c | 44 +++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 16 deletions(-)
diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c
index 9b22d94..5308cea 100644
--- a/drivers/usb/musb/musb_debugfs.c
+++ b/drivers/usb/musb/musb_debugfs.c
@@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused)
test = musb_readb(musb->mregs, MUSB_TESTMODE);
- if (test & MUSB_TEST_FORCE_HOST)
+ if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS))
+ seq_printf(s, "force host full-speed\n");
+
+ else if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS))
+ seq_printf(s, "force host high-speed\n");
+
+ else if (test == MUSB_TEST_FORCE_HOST)
seq_printf(s, "force host\n");
- if (test & MUSB_TEST_FIFO_ACCESS)
+ else if (test == MUSB_TEST_FIFO_ACCESS)
seq_printf(s, "fifo access\n");
- if (test & MUSB_TEST_FORCE_FS)
+ else if (test == MUSB_TEST_FORCE_FS)
seq_printf(s, "force full-speed\n");
- if (test & MUSB_TEST_FORCE_HS)
+ else if (test == MUSB_TEST_FORCE_HS)
seq_printf(s, "force high-speed\n");
- if (test & MUSB_TEST_PACKET)
+ else if (test == MUSB_TEST_PACKET)
seq_printf(s, "test packet\n");
- if (test & MUSB_TEST_K)
+ else if (test == MUSB_TEST_K)
seq_printf(s, "test K\n");
- if (test & MUSB_TEST_J)
+ else if (test == MUSB_TEST_J)
seq_printf(s, "test J\n");
- if (test & MUSB_TEST_SE0_NAK)
+ else if (test == MUSB_TEST_SE0_NAK)
seq_printf(s, "test SE0 NAK\n");
return 0;
@@ -206,30 +212,36 @@ static ssize_t musb_test_mode_write(struct file *file,
if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
return -EFAULT;
- if (strstarts(buf, "force host"))
+ if (strstarts(buf, "force host full-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS;
+
+ else if (strstarts(buf, "force host high-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS;
+
+ else if (strstarts(buf, "force host"))
test = MUSB_TEST_FORCE_HOST;
- if (strstarts(buf, "fifo access"))
+ else if (strstarts(buf, "fifo access"))
test = MUSB_TEST_FIFO_ACCESS;
- if (strstarts(buf, "force full-speed"))
+ else if (strstarts(buf, "force full-speed"))
test = MUSB_TEST_FORCE_FS;
- if (strstarts(buf, "force high-speed"))
+ else if (strstarts(buf, "force high-speed"))
test = MUSB_TEST_FORCE_HS;
- if (strstarts(buf, "test packet")) {
+ else if (strstarts(buf, "test packet")) {
test = MUSB_TEST_PACKET;
musb_load_testpacket(musb);
}
- if (strstarts(buf, "test K"))
+ else if (strstarts(buf, "test K"))
test = MUSB_TEST_K;
- if (strstarts(buf, "test J"))
+ else if (strstarts(buf, "test J"))
test = MUSB_TEST_J;
- if (strstarts(buf, "test SE0 NAK"))
+ else if (strstarts(buf, "test SE0 NAK"))
test = MUSB_TEST_SE0_NAK;
musb_writeb(musb->mregs, MUSB_TESTMODE, test);
--
1.7.9.5
[toc] | [prev] | [next] | [standalone]
| From | Bin Liu <b-liu@ti.com> |
|---|---|
| Date | 2016-12-19 16:20 +0100 |
| Subject | Re: [PATCH v2] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sQ7Tj-1bC-15@gated-at.bofh.it> |
| In reply to | #1544055 |
On Sun, Dec 18, 2016 at 12:54:40AM +0100, Pali Rohár wrote: > Based on the musb ug, force_host bit is allowed to be set along with > force_hs or force_fs bit. > > It could help to implement forced host mode via testmode on Nokia N900. > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com> > --- > Changes in v2: > * Use == instead of & for comparison of testmode > --- > drivers/usb/musb/musb_debugfs.c | 44 +++++++++++++++++++++++++-------------- > 1 file changed, 28 insertions(+), 16 deletions(-) > > diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c > index 9b22d94..5308cea 100644 > --- a/drivers/usb/musb/musb_debugfs.c > +++ b/drivers/usb/musb/musb_debugfs.c > @@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused) > > test = musb_readb(musb->mregs, MUSB_TESTMODE); > > - if (test & MUSB_TEST_FORCE_HOST) > + if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS)) > + seq_printf(s, "force host full-speed\n"); > + > + else if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS)) > + seq_printf(s, "force host high-speed\n"); > + > + else if (test == MUSB_TEST_FORCE_HOST) > seq_printf(s, "force host\n"); > > - if (test & MUSB_TEST_FIFO_ACCESS) > + else if (test == MUSB_TEST_FIFO_ACCESS) > seq_printf(s, "fifo access\n"); > > - if (test & MUSB_TEST_FORCE_FS) > + else if (test == MUSB_TEST_FORCE_FS) > seq_printf(s, "force full-speed\n"); > > - if (test & MUSB_TEST_FORCE_HS) > + else if (test == MUSB_TEST_FORCE_HS) > seq_printf(s, "force high-speed\n"); > > - if (test & MUSB_TEST_PACKET) > + else if (test == MUSB_TEST_PACKET) > seq_printf(s, "test packet\n"); > > - if (test & MUSB_TEST_K) > + else if (test == MUSB_TEST_K) > seq_printf(s, "test K\n"); > > - if (test & MUSB_TEST_J) > + else if (test == MUSB_TEST_J) > seq_printf(s, "test J\n"); > > - if (test & MUSB_TEST_SE0_NAK) > + else if (test == MUSB_TEST_SE0_NAK) > seq_printf(s, "test SE0 NAK\n"); > > return 0; > @@ -206,30 +212,36 @@ static ssize_t musb_test_mode_write(struct file *file, > if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count))) > return -EFAULT; > > - if (strstarts(buf, "force host")) > + if (strstarts(buf, "force host full-speed")) buf is only 18 bytes long, the string is not fully compared. You might have to increase buf[] to 24 bytes. Regards, -Bin.
[toc] | [prev] | [next] | [standalone]
| From | Pali Rohár <pali.rohar@gmail.com> |
|---|---|
| Date | 2016-12-19 16:30 +0100 |
| Subject | [PATCH v3] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sQ830-1eW-29@gated-at.bofh.it> |
| In reply to | #1544055 |
Based on the musb ug, force_host bit is allowed to be set along with
force_hs or force_fs bit.
It could help to implement forced host mode via testmode on Nokia N900.
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
---
Changes in v2:
* Use == instead of & for comparison of testmode
Changes in v3:
* Increase buf[] to 24 bytes
---
drivers/usb/musb/musb_debugfs.c | 46 ++++++++++++++++++++++++---------------
1 file changed, 29 insertions(+), 17 deletions(-)
diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c
index 9b22d94..4d6c505 100644
--- a/drivers/usb/musb/musb_debugfs.c
+++ b/drivers/usb/musb/musb_debugfs.c
@@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused)
test = musb_readb(musb->mregs, MUSB_TESTMODE);
- if (test & MUSB_TEST_FORCE_HOST)
+ if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS))
+ seq_printf(s, "force host full-speed\n");
+
+ else if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS))
+ seq_printf(s, "force host high-speed\n");
+
+ else if (test == MUSB_TEST_FORCE_HOST)
seq_printf(s, "force host\n");
- if (test & MUSB_TEST_FIFO_ACCESS)
+ else if (test == MUSB_TEST_FIFO_ACCESS)
seq_printf(s, "fifo access\n");
- if (test & MUSB_TEST_FORCE_FS)
+ else if (test == MUSB_TEST_FORCE_FS)
seq_printf(s, "force full-speed\n");
- if (test & MUSB_TEST_FORCE_HS)
+ else if (test == MUSB_TEST_FORCE_HS)
seq_printf(s, "force high-speed\n");
- if (test & MUSB_TEST_PACKET)
+ else if (test == MUSB_TEST_PACKET)
seq_printf(s, "test packet\n");
- if (test & MUSB_TEST_K)
+ else if (test == MUSB_TEST_K)
seq_printf(s, "test K\n");
- if (test & MUSB_TEST_J)
+ else if (test == MUSB_TEST_J)
seq_printf(s, "test J\n");
- if (test & MUSB_TEST_SE0_NAK)
+ else if (test == MUSB_TEST_SE0_NAK)
seq_printf(s, "test SE0 NAK\n");
return 0;
@@ -192,7 +198,7 @@ static ssize_t musb_test_mode_write(struct file *file,
struct seq_file *s = file->private_data;
struct musb *musb = s->private;
u8 test;
- char buf[18];
+ char buf[24];
test = musb_readb(musb->mregs, MUSB_TESTMODE);
if (test) {
@@ -206,30 +212,36 @@ static ssize_t musb_test_mode_write(struct file *file,
if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
return -EFAULT;
- if (strstarts(buf, "force host"))
+ if (strstarts(buf, "force host full-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS;
+
+ else if (strstarts(buf, "force host high-speed"))
+ test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS;
+
+ else if (strstarts(buf, "force host"))
test = MUSB_TEST_FORCE_HOST;
- if (strstarts(buf, "fifo access"))
+ else if (strstarts(buf, "fifo access"))
test = MUSB_TEST_FIFO_ACCESS;
- if (strstarts(buf, "force full-speed"))
+ else if (strstarts(buf, "force full-speed"))
test = MUSB_TEST_FORCE_FS;
- if (strstarts(buf, "force high-speed"))
+ else if (strstarts(buf, "force high-speed"))
test = MUSB_TEST_FORCE_HS;
- if (strstarts(buf, "test packet")) {
+ else if (strstarts(buf, "test packet")) {
test = MUSB_TEST_PACKET;
musb_load_testpacket(musb);
}
- if (strstarts(buf, "test K"))
+ else if (strstarts(buf, "test K"))
test = MUSB_TEST_K;
- if (strstarts(buf, "test J"))
+ else if (strstarts(buf, "test J"))
test = MUSB_TEST_J;
- if (strstarts(buf, "test SE0 NAK"))
+ else if (strstarts(buf, "test SE0 NAK"))
test = MUSB_TEST_SE0_NAK;
musb_writeb(musb->mregs, MUSB_TESTMODE, test);
--
1.7.9.5
[toc] | [prev] | [next] | [standalone]
| From | Bin Liu <b-liu@ti.com> |
|---|---|
| Date | 2016-12-19 21:50 +0100 |
| Subject | Re: [PATCH v3] usb: musb: debugfs: allow forcing host mode together with speed in testmode |
| Message-ID | <sQd2F-4h6-1@gated-at.bofh.it> |
| In reply to | #1544618 |
On Mon, Dec 19, 2016 at 04:23:47PM +0100, Pali Rohár wrote:
> Based on the musb ug, force_host bit is allowed to be set along with
> force_hs or force_fs bit.
>
> It could help to implement forced host mode via testmode on Nokia N900.
>
> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Applied. Thanks.
-Bin.
> ---
> Changes in v2:
> * Use == instead of & for comparison of testmode
> Changes in v3:
> * Increase buf[] to 24 bytes
> ---
> drivers/usb/musb/musb_debugfs.c | 46 ++++++++++++++++++++++++---------------
> 1 file changed, 29 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c
> index 9b22d94..4d6c505 100644
> --- a/drivers/usb/musb/musb_debugfs.c
> +++ b/drivers/usb/musb/musb_debugfs.c
> @@ -147,28 +147,34 @@ static int musb_test_mode_show(struct seq_file *s, void *unused)
>
> test = musb_readb(musb->mregs, MUSB_TESTMODE);
>
> - if (test & MUSB_TEST_FORCE_HOST)
> + if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS))
> + seq_printf(s, "force host full-speed\n");
> +
> + else if (test == (MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS))
> + seq_printf(s, "force host high-speed\n");
> +
> + else if (test == MUSB_TEST_FORCE_HOST)
> seq_printf(s, "force host\n");
>
> - if (test & MUSB_TEST_FIFO_ACCESS)
> + else if (test == MUSB_TEST_FIFO_ACCESS)
> seq_printf(s, "fifo access\n");
>
> - if (test & MUSB_TEST_FORCE_FS)
> + else if (test == MUSB_TEST_FORCE_FS)
> seq_printf(s, "force full-speed\n");
>
> - if (test & MUSB_TEST_FORCE_HS)
> + else if (test == MUSB_TEST_FORCE_HS)
> seq_printf(s, "force high-speed\n");
>
> - if (test & MUSB_TEST_PACKET)
> + else if (test == MUSB_TEST_PACKET)
> seq_printf(s, "test packet\n");
>
> - if (test & MUSB_TEST_K)
> + else if (test == MUSB_TEST_K)
> seq_printf(s, "test K\n");
>
> - if (test & MUSB_TEST_J)
> + else if (test == MUSB_TEST_J)
> seq_printf(s, "test J\n");
>
> - if (test & MUSB_TEST_SE0_NAK)
> + else if (test == MUSB_TEST_SE0_NAK)
> seq_printf(s, "test SE0 NAK\n");
>
> return 0;
> @@ -192,7 +198,7 @@ static ssize_t musb_test_mode_write(struct file *file,
> struct seq_file *s = file->private_data;
> struct musb *musb = s->private;
> u8 test;
> - char buf[18];
> + char buf[24];
>
> test = musb_readb(musb->mregs, MUSB_TESTMODE);
> if (test) {
> @@ -206,30 +212,36 @@ static ssize_t musb_test_mode_write(struct file *file,
> if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
> return -EFAULT;
>
> - if (strstarts(buf, "force host"))
> + if (strstarts(buf, "force host full-speed"))
> + test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_FS;
> +
> + else if (strstarts(buf, "force host high-speed"))
> + test = MUSB_TEST_FORCE_HOST | MUSB_TEST_FORCE_HS;
> +
> + else if (strstarts(buf, "force host"))
> test = MUSB_TEST_FORCE_HOST;
>
> - if (strstarts(buf, "fifo access"))
> + else if (strstarts(buf, "fifo access"))
> test = MUSB_TEST_FIFO_ACCESS;
>
> - if (strstarts(buf, "force full-speed"))
> + else if (strstarts(buf, "force full-speed"))
> test = MUSB_TEST_FORCE_FS;
>
> - if (strstarts(buf, "force high-speed"))
> + else if (strstarts(buf, "force high-speed"))
> test = MUSB_TEST_FORCE_HS;
>
> - if (strstarts(buf, "test packet")) {
> + else if (strstarts(buf, "test packet")) {
> test = MUSB_TEST_PACKET;
> musb_load_testpacket(musb);
> }
>
> - if (strstarts(buf, "test K"))
> + else if (strstarts(buf, "test K"))
> test = MUSB_TEST_K;
>
> - if (strstarts(buf, "test J"))
> + else if (strstarts(buf, "test J"))
> test = MUSB_TEST_J;
>
> - if (strstarts(buf, "test SE0 NAK"))
> + else if (strstarts(buf, "test SE0 NAK"))
> test = MUSB_TEST_SE0_NAK;
>
> musb_writeb(musb->mregs, MUSB_TESTMODE, test);
> --
> 1.7.9.5
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web