<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb/early, branch v3.4.61</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/usb/early?h=v3.4.61</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/usb/early?h=v3.4.61'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-08-09T15:31:51Z</updated>
<entry>
<title>USB: echi-dbgp: increase the controller wait time to come out of halt.</title>
<updated>2012-08-09T15:31:51Z</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2012-07-30T15:06:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6091e5bc36cc2d74b2c5ab1ae2dcf32cf82e242f'/>
<id>urn:sha1:6091e5bc36cc2d74b2c5ab1ae2dcf32cf82e242f</id>
<content type='text'>
commit f96a4216e85050c0a9d41a41ecb0ae9d8e39b509 upstream.

The default 10 microsecond delay for the controller to come out of
halt in dbgp_ehci_startup is too short, so increase it to 1 millisecond.

This is based on emperical testing on various USB debug ports on
modern machines such as a Lenovo X220i and an Ivybridge development
platform that needed to wait ~450-950 microseconds.

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: EHCI: Support controllers with big endian capability regs</title>
<updated>2011-05-03T18:43:21Z</updated>
<author>
<name>Jan Andersson</name>
<email>jan@gaisler.com</email>
</author>
<published>2011-05-03T18:11:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c430131a02d677aa708f56342c1565edfdacb3c0'/>
<id>urn:sha1:c430131a02d677aa708f56342c1565edfdacb3c0</id>
<content type='text'>
The two first HC capability registers (CAPLENGTH and HCIVERSION)
are defined as one 8-bit and one 16-bit register. Most HC
implementations have selected to treat these registers as part
of a 32-bit register, giving the same layout for both big and
small endian systems.

This patch adds a new quirk, big_endian_capbase, to support
controllers with big endian register interfaces that treat
HCIVERSION and CAPLENGTH as individual registers.

Signed-off-by: Jan Andersson &lt;jan@gaisler.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23Z</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>USB: ehci-dbgp: fix typo in startup message</title>
<updated>2011-01-23T03:35:40Z</updated>
<author>
<name>Ferenc Wagner</name>
<email>wferi@niif.hu</email>
</author>
<published>2011-01-10T18:00:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef58d97a30af66b31f6400e49c87b4d64fc1f5bc'/>
<id>urn:sha1:ef58d97a30af66b31f6400e49c87b4d64fc1f5bc</id>
<content type='text'>
Signed-off-by: Ferenc Wagner &lt;wferi@niif.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>usb: makefile cleanup</title>
<updated>2010-10-22T17:22:07Z</updated>
<author>
<name>matt mooney</name>
<email>mfm@muteddisk.com</email>
</author>
<published>2010-10-07T02:03:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0a2b8a0d1101179fdebc974a7c72b514aede9d9d'/>
<id>urn:sha1:0a2b8a0d1101179fdebc974a7c72b514aede9d9d</id>
<content type='text'>
For all modules, change &lt;module&gt;-objs to &lt;module&gt;-y; remove
if-statements and replace with lists using the kbuild idiom; move
flags to the top of the file; and fix alignment while trying to
maintain the original scheme in each file.

None of the dependencies are modified.

Signed-off-by: matt mooney &lt;mfm@muteddisk.com&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>echi-dbgp: Add kernel debugger support for the usb debug port</title>
<updated>2010-05-21T02:04:31Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-05-21T02:04:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4fe1da4ebc18c4c42fa56c228447f68033fce5f0'/>
<id>urn:sha1:4fe1da4ebc18c4c42fa56c228447f68033fce5f0</id>
<content type='text'>
This patch adds the capability to use the usb debug port with the
kernel debugger.  It is also still possible to use this functionality
with or without the earlyprintk=dbgpX.  It is possible to use the
kgdbwait boot argument to debug very early in the kernel start up code.

There are two ways to use this driver extension with a kernel boot argument.

1) kgdbdbgp=#   -- Where # is the number of the usb debug controller

   You must use sysrq-g to break into the kernel debugger on another
   connection type other than the dbgp.

2) kgdbdbgp=#debugControlNum#,#Seconds#

   In this mode, the usb debug port is polled every #Seconds# for
   character input.  It is possible to use gdb or press control-c to
   break into the kernel debugger.

From the implementation perspective there are 3 high level changes.

1) Allow variable retries for the the hardware via dbgp_bulk_read().

   The amount of retries for the dbgp_bulk_read() needed to be
   variable instead of fixed.  We do not want to poll at all when the
   kernel is operating in interrupt driven mode.  The polling only
   occurs if the kernel was booted when specifying some number of
   seconds via the kgdbdbgp boot argument (IE kgdbdbgp=0,1).  In this
   case the loop count is reduced to 1 so as introduce the smallest
   amount of latency as possible.

2) Save the bulk IN endpoint address for use by the kgdb code.

3) The addition of the kgdb interface code.

   This consisted of adding in a character read function for the dbgp
   as well as a polling thread to allow the dbgp to interrupt the
   kernel execution.  The rest is the typical kgdb I/O api.

CC: Eric Biederman &lt;ebiederm@xmission.com&gt;
CC: Yinghai Lu &lt;yhlu.kernel@gmail.com&gt;
CC: linux-usb@vger.kernel.org
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>USB: ehci-dbgp: split PID register updates for IN and OUT pipes</title>
<updated>2010-03-02T22:54:58Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-02-05T17:49:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=815e173e1d71742f1135fb4d4931e8115a3ca0ef'/>
<id>urn:sha1:815e173e1d71742f1135fb4d4931e8115a3ca0ef</id>
<content type='text'>
This patch addresses two problems:

1) Bulk reads should always use the DATA0 for the pid, and the write
   PID should toggle between DATA0 and DATA1.  The fix is using
   dbgp_pid_write_update() and dbgp_pid_read_update().

2) The delay loop for waiting for a transaction was not long enough to
   always complete the initial handshake inside dbgp_wait_until_done().
   After the initial handshake the maximum delay length is never reached.

The combined result of these two changes allows for the removal of the
forced resynchronization where a bulk write was issued with a dummy
data payload only to get the device to start accepting data writes
again.

CC: Eric Biederman &lt;ebiederm@xmission.com&gt;
CC: Yinghai Lu &lt;yhlu.kernel@gmail.com&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: fix section mismatch in early ehci dbgp</title>
<updated>2009-12-23T19:34:11Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@novell.com</email>
</author>
<published>2009-11-20T13:50:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=40b52371be92cf9990de162e4c7b4fd9160150a7'/>
<id>urn:sha1:40b52371be92cf9990de162e4c7b4fd9160150a7</id>
<content type='text'>
Commit 917778267fbe67703ab7d5c6f0b7a05d4c3df485 removed __init from
ehci_wait_for_port(), but left it in place on ehci_reset_port(), which
is being called from the former function.

Signed-off-by: Jan Beulich &lt;jbeulich@novell.com&gt;
Acked-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>USB: ehci-dbgp: errata for EHCI debug/host controller synchronization</title>
<updated>2009-09-23T13:46:38Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2009-08-20T20:39:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=68d2956a810b5c1b8213a1a9f59eacc54d7ce087'/>
<id>urn:sha1:68d2956a810b5c1b8213a1a9f59eacc54d7ce087</id>
<content type='text'>
On some EHCI debug controllers after the host controller driver is
activated, the debug controller will occasionally fail to submit a
bulk write URB.  On controllers that exhibit this behavior a dummy
bulk write must get submitted to resynchronize the device.

The "dummy bulk write" does not get received by the host attached to
the other end of the usb debug device.  The usb debug device simply
acknowledges the "dummy bulk write" and returns to a usable state.

The behavior, without this patch is that you see missing text from a
complete kernel boot when using the keep option to the earlyprintk
kernel argument.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: ehci-dbgp: errata for EHCI debug controller initialization</title>
<updated>2009-09-23T13:46:38Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2009-08-20T20:39:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aab2d4086a1876fcff282aa36e2d4a92aa9935c9'/>
<id>urn:sha1:aab2d4086a1876fcff282aa36e2d4a92aa9935c9</id>
<content type='text'>
On some EHCI usb debug controllers, the EHCI debug device will fail to
be seen after a port reset, after a warm reset.  Two options exist to
get the device to initialize correctly.

Option 1 is to unplug and plug in the device.

Option 2 is to use the EHCI port test to get the usb debug device to
start talking again.  At that point the debug controller port reset
will succeed.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
CC: dbrownell@users.sourceforge.net
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
