-
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.
yaml --- r: 9688 b: refs/heads/master c: a2e30e5 h: refs/heads/master v: v3
- Loading branch information
Jeff Garzik
committed
Aug 17, 2005
1 parent
c4f9cc0
commit 7622e29
Showing
1,375 changed files
with
126,190 additions
and
44,528 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 |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: edb3366703224d5d8df573ae698ccd6b488dc743 | ||
refs/heads/master: a2e30e529a48ef4e106e405f91cf4ae525bb01c4 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
S3C24XX USB Host support | ||
======================== | ||
|
||
|
||
|
||
Introduction | ||
------------ | ||
|
||
This document details the S3C2410/S3C2440 in-built OHCI USB host support. | ||
|
||
Configuration | ||
------------- | ||
|
||
Enable at least the following kernel options: | ||
|
||
menuconfig: | ||
|
||
Device Drivers ---> | ||
USB support ---> | ||
<*> Support for Host-side USB | ||
<*> OHCI HCD support | ||
|
||
|
||
.config: | ||
CONFIG_USB | ||
CONFIG_USB_OHCI_HCD | ||
|
||
|
||
Once these options are configured, the standard set of USB device | ||
drivers can be configured and used. | ||
|
||
|
||
Board Support | ||
------------- | ||
|
||
The driver attaches to a platform device, which will need to be | ||
added by the board specific support file in linux/arch/arm/mach-s3c2410, | ||
such as mach-bast.c or mach-smdk2410.c | ||
|
||
The platform device's platform_data field is only needed if the | ||
board implements extra power control or over-current monitoring. | ||
|
||
The OHCI driver does not ensure the state of the S3C2410's MISCCTRL | ||
register, so if both ports are to be used for the host, then it is | ||
the board support file's responsibility to ensure that the second | ||
port is configured to be connected to the OHCI core. | ||
|
||
|
||
Platform Data | ||
------------- | ||
|
||
See linux/include/asm-arm/arch-s3c2410/usb-control.h for the | ||
descriptions of the platform device data. An implementation | ||
can be found in linux/arch/arm/mach-s3c2410/usb-simtec.c . | ||
|
||
The `struct s3c2410_hcd_info` contains a pair of functions | ||
that get called to enable over-current detection, and to | ||
control the port power status. | ||
|
||
The ports are numbered 0 and 1. | ||
|
||
power_control: | ||
|
||
Called to enable or disable the power on the port. | ||
|
||
enable_oc: | ||
|
||
Called to enable or disable the over-current monitoring. | ||
This should claim or release the resources being used to | ||
check the power condition on the port, such as an IRQ. | ||
|
||
report_oc: | ||
|
||
The OHCI driver fills this field in for the over-current code | ||
to call when there is a change to the over-current state on | ||
an port. The ports argument is a bitmask of 1 bit per port, | ||
with bit X being 1 for an over-current on port X. | ||
|
||
The function s3c2410_usb_report_oc() has been provided to | ||
ensure this is called correctly. | ||
|
||
port[x]: | ||
|
||
This is struct describes each port, 0 or 1. The platform driver | ||
should set the flags field of each port to S3C_HCDFLG_USED if | ||
the port is enabled. | ||
|
||
|
||
|
||
Document Author | ||
--------------- | ||
|
||
Ben Dooks, (c) 2005 Simtec Electronics |
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 |
---|---|---|
|
@@ -104,6 +104,7 @@ logo_*.c | |
logo_*_clut224.c | ||
logo_*_mono.c | ||
lxdialog | ||
mach-types | ||
mach-types.h | ||
make_times_h | ||
map | ||
|
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,114 @@ | ||
INFINIBAND MIDLAYER LOCKING | ||
|
||
This guide is an attempt to make explicit the locking assumptions | ||
made by the InfiniBand midlayer. It describes the requirements on | ||
both low-level drivers that sit below the midlayer and upper level | ||
protocols that use the midlayer. | ||
|
||
Sleeping and interrupt context | ||
|
||
With the following exceptions, a low-level driver implementation of | ||
all of the methods in struct ib_device may sleep. The exceptions | ||
are any methods from the list: | ||
|
||
create_ah | ||
modify_ah | ||
query_ah | ||
destroy_ah | ||
bind_mw | ||
post_send | ||
post_recv | ||
poll_cq | ||
req_notify_cq | ||
map_phys_fmr | ||
|
||
which may not sleep and must be callable from any context. | ||
|
||
The corresponding functions exported to upper level protocol | ||
consumers: | ||
|
||
ib_create_ah | ||
ib_modify_ah | ||
ib_query_ah | ||
ib_destroy_ah | ||
ib_bind_mw | ||
ib_post_send | ||
ib_post_recv | ||
ib_req_notify_cq | ||
ib_map_phys_fmr | ||
|
||
are therefore safe to call from any context. | ||
|
||
In addition, the function | ||
|
||
ib_dispatch_event | ||
|
||
used by low-level drivers to dispatch asynchronous events through | ||
the midlayer is also safe to call from any context. | ||
|
||
Reentrancy | ||
|
||
All of the methods in struct ib_device exported by a low-level | ||
driver must be fully reentrant. The low-level driver is required to | ||
perform all synchronization necessary to maintain consistency, even | ||
if multiple function calls using the same object are run | ||
simultaneously. | ||
|
||
The IB midlayer does not perform any serialization of function calls. | ||
|
||
Because low-level drivers are reentrant, upper level protocol | ||
consumers are not required to perform any serialization. However, | ||
some serialization may be required to get sensible results. For | ||
example, a consumer may safely call ib_poll_cq() on multiple CPUs | ||
simultaneously. However, the ordering of the work completion | ||
information between different calls of ib_poll_cq() is not defined. | ||
|
||
Callbacks | ||
|
||
A low-level driver must not perform a callback directly from the | ||
same callchain as an ib_device method call. For example, it is not | ||
allowed for a low-level driver to call a consumer's completion event | ||
handler directly from its post_send method. Instead, the low-level | ||
driver should defer this callback by, for example, scheduling a | ||
tasklet to perform the callback. | ||
|
||
The low-level driver is responsible for ensuring that multiple | ||
completion event handlers for the same CQ are not called | ||
simultaneously. The driver must guarantee that only one CQ event | ||
handler for a given CQ is running at a time. In other words, the | ||
following situation is not allowed: | ||
|
||
CPU1 CPU2 | ||
|
||
low-level driver -> | ||
consumer CQ event callback: | ||
/* ... */ | ||
ib_req_notify_cq(cq, ...); | ||
low-level driver -> | ||
/* ... */ consumer CQ event callback: | ||
/* ... */ | ||
return from CQ event handler | ||
|
||
The context in which completion event and asynchronous event | ||
callbacks run is not defined. Depending on the low-level driver, it | ||
may be process context, softirq context, or interrupt context. | ||
Upper level protocol consumers may not sleep in a callback. | ||
|
||
Hot-plug | ||
|
||
A low-level driver announces that a device is ready for use by | ||
consumers when it calls ib_register_device(), all initialization | ||
must be complete before this call. The device must remain usable | ||
until the driver's call to ib_unregister_device() has returned. | ||
|
||
A low-level driver must call ib_register_device() and | ||
ib_unregister_device() from process context. It must not hold any | ||
semaphores that could cause deadlock if a consumer calls back into | ||
the driver across these calls. | ||
|
||
An upper level protocol consumer may begin using an IB device as | ||
soon as the add method of its struct ib_client is called for that | ||
device. A consumer must finish all cleanup and free all resources | ||
relating to a device before returning from the remove method. | ||
|
||
A consumer is permitted to sleep in its add and remove methods. |
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.