-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/gregkh/usb * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits) usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push() usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB. USB: gadget: midi: memory leak in f_midi_bind_config() USB: gadget: midi: fix range check in f_midi_out_open() QE/FHCI: fixed the CONTROL bug usb: renesas_usbhs: tidyup for smatch warnings USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms EHCI: workaround for MosChip controller bug usb: gadget: file_storage: fix race on unloading USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF . USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board USB: Fix runtime wakeup on OHCI xHCI/USB: Make xHCI driver have a BOS descriptor. usb: gadget: add new usb gadget for ACM and mass storage ...
- Loading branch information
Showing
247 changed files
with
15,136 additions
and
4,175 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
What: /sys/bus/pci/drivers/ehci_hcd/.../companion | ||
/sys/bus/usb/devices/usbN/../companion | ||
Date: January 2007 | ||
KernelVersion: 2.6.21 | ||
Contact: Alan Stern <stern@rowland.harvard.edu> | ||
Description: | ||
PCI-based EHCI USB controllers (i.e., high-speed USB-2.0 | ||
controllers) are often implemented along with a set of | ||
"companion" full/low-speed USB-1.1 controllers. When a | ||
high-speed device is plugged in, the connection is routed | ||
to the EHCI controller; when a full- or low-speed device | ||
is plugged in, the connection is routed to the companion | ||
controller. | ||
|
||
Sometimes you want to force a high-speed device to connect | ||
at full speed, which can be accomplished by forcing the | ||
connection to be routed to the companion controller. | ||
That's what this file does. Writing a port number to the | ||
file causes connections on that port to be routed to the | ||
companion controller, and writing the negative of a port | ||
number returns the port to normal operation. | ||
|
||
For example: To force the high-speed device attached to | ||
port 4 on bus 2 to run at full speed: | ||
|
||
echo 4 >/sys/bus/usb/devices/usb2/../companion | ||
|
||
To return the port to high-speed operation: | ||
|
||
echo -4 >/sys/bus/usb/devices/usb2/../companion | ||
|
||
Reading the file gives the list of ports currently forced | ||
to the companion controller. | ||
|
||
Note: Some EHCI controllers do not have companions; they | ||
may contain an internal "transaction translator" or they | ||
may be attached directly to a "rate-matching hub". This | ||
mechanism will not work with such controllers. Also, it | ||
cannot be used to force a port on a high-speed hub to | ||
connect at full speed. | ||
|
||
Note: When this file was first added, it appeared in a | ||
different sysfs directory. The location given above is | ||
correct for 2.6.35 (and probably several earlier kernel | ||
versions as well). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
|
||
TODO | ||
~~~~~~ | ||
Please pick something while reading :) | ||
|
||
- Convert interrupt handler to per-ep-thread-irq | ||
|
||
As it turns out some DWC3-commands ~1ms to complete. Currently we spin | ||
until the command completes which is bad. | ||
|
||
Implementation idea: | ||
- dwc core implements a demultiplexing irq chip for interrupts per | ||
endpoint. The interrupt numbers are allocated during probe and belong | ||
to the device. If MSI provides per-endpoint interrupt this dummy | ||
interrupt chip can be replaced with "real" interrupts. | ||
- interrupts are requested / allocated on usb_ep_enable() and removed on | ||
usb_ep_disable(). Worst case are 32 interrupts, the lower limit is two | ||
for ep0/1. | ||
- dwc3_send_gadget_ep_cmd() will sleep in wait_for_completion_timeout() | ||
until the command completes. | ||
- the interrupt handler is split into the following pieces: | ||
- primary handler of the device | ||
goes through every event and calls generic_handle_irq() for event | ||
it. On return from generic_handle_irq() in acknowledges the event | ||
counter so interrupt goes away (eventually). | ||
|
||
- threaded handler of the device | ||
none | ||
|
||
- primary handler of the EP-interrupt | ||
reads the event and tries to process it. Everything that requries | ||
sleeping is handed over to the Thread. The event is saved in an | ||
per-endpoint data-structure. | ||
We probably have to pay attention not to process events once we | ||
handed something to thread so we don't process event X prio Y | ||
where X > Y. | ||
|
||
- threaded handler of the EP-interrupt | ||
handles the remaining EP work which might sleep such as waiting | ||
for command completion. | ||
|
||
Latency: | ||
There should be no increase in latency since the interrupt-thread has a | ||
high priority and will be run before an average task in user land | ||
(except the user changed priorities). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.