Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
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
Show file tree
Hide file tree
Showing 1,375 changed files with 126,190 additions and 44,528 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: edb3366703224d5d8df573ae698ccd6b488dc743
refs/heads/master: a2e30e529a48ef4e106e405f91cf4ae525bb01c4
10 changes: 5 additions & 5 deletions trunk/CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -1624,10 +1624,10 @@ E: ajoshi@shell.unixbox.com
D: fbdev hacking

N: Jesper Juhl
E: juhl-lkml@dif.dk
D: Various small janitor fixes, cleanups etc.
E: jesper.juhl@gmail.com
D: Various fixes, cleanups and minor features.
S: Lemnosvej 1, 3.tv
S: 2300 Copenhagen S
S: 2300 Copenhagen S.
S: Denmark

N: Jozsef Kadlecsik
Expand Down Expand Up @@ -2380,8 +2380,8 @@ E: tmolina@cablespeed.com
D: bug fixes, documentation, minor hackery

N: James Morris
E: jmorris@redhat.com
W: http://www.intercode.com.au/jmorris/
E: jmorris@namei.org
W: http://namei.org/
D: Netfilter, Linux Security Modules (LSM), SELinux, IPSec,
D: Crypto API, general networking, miscellaneous.
S: PO Box 707
Expand Down
1 change: 1 addition & 0 deletions trunk/Documentation/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
o nfs-utils 1.0.5 # showmount --version
o procps 3.2.0 # ps --version
o oprofile 0.9 # oprofiled --version
o udev 058 # udevinfo -V

Kernel compilation
==================
Expand Down
5 changes: 5 additions & 0 deletions trunk/Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,11 @@ USB, framebuffer devices, the VFS, the SCSI subsystem, etc. See the
MAINTAINERS file for a mailing list that relates specifically to
your change.

If changes affect userland-kernel interfaces, please send
the MAN-PAGES maintainer (as listed in the MAINTAINERS file)
a man-pages patch, or at least a notification of the change,
so that some information makes its way into the manual pages.

Even if the maintainer did not respond in step #4, make sure to ALWAYS
copy the maintainer when you change their code.

Expand Down
3 changes: 3 additions & 0 deletions trunk/Documentation/acpi-hotkey.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ The result of the execution of this aml method is
attached to /proc/acpi/hotkey/poll_method, which is dnyamically
created. Please use command "cat /proc/acpi/hotkey/polling_method"
to retrieve it.

Note: Use cmdline "acpi_generic_hotkey" to over-ride
loading any platform specific drivers.
93 changes: 93 additions & 0 deletions trunk/Documentation/arm/Samsung-S3C24XX/USB-Host.txt
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
1 change: 1 addition & 0 deletions trunk/Documentation/dontdiff
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ logo_*.c
logo_*_clut224.c
logo_*_mono.c
lxdialog
mach-types
mach-types.h
make_times_h
map
Expand Down
16 changes: 15 additions & 1 deletion trunk/Documentation/fb/vesafb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,21 @@ vgapal Use the standard vga registers for palette changes.
This is the default.
pmipal Use the protected mode interface for palette changes.

mtrr setup memory type range registers for the vesafb framebuffer.
mtrr:n setup memory type range registers for the vesafb framebuffer
where n:
0 - disabled (equivalent to nomtrr)
1 - uncachable
2 - write-back
3 - write-combining (default)
4 - write-through

If you see the following in dmesg, choose the type that matches the
old one. In this example, use "mtrr:2".
...
mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining
...

nomtrr disable mtrr

vremap:n
remap 'n' MiB of video RAM. If 0 or not specified, remap memory
Expand Down
114 changes: 114 additions & 0 deletions trunk/Documentation/infiniband/core_locking.txt
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.
53 changes: 40 additions & 13 deletions trunk/Documentation/infiniband/user_mad.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,37 @@ Creating MAD agents

Receiving MADs

MADs are received using read(). The buffer passed to read() must be
large enough to hold at least one struct ib_user_mad. For example:

struct ib_user_mad mad;
ret = read(fd, &mad, sizeof mad);
if (ret != sizeof mad)
MADs are received using read(). The receive side now supports
RMPP. The buffer passed to read() must be at least one
struct ib_user_mad + 256 bytes. For example:

If the buffer passed is not large enough to hold the received
MAD (RMPP), the errno is set to ENOSPC and the length of the
buffer needed is set in mad.length.

Example for normal MAD (non RMPP) reads:
struct ib_user_mad *mad;
mad = malloc(sizeof *mad + 256);
ret = read(fd, mad, sizeof *mad + 256);
if (ret != sizeof mad + 256) {
perror("read");
free(mad);
}

Example for RMPP reads:
struct ib_user_mad *mad;
mad = malloc(sizeof *mad + 256);
ret = read(fd, mad, sizeof *mad + 256);
if (ret == -ENOSPC)) {
length = mad.length;
free(mad);
mad = malloc(sizeof *mad + length);
ret = read(fd, mad, sizeof *mad + length);
}
if (ret < 0) {
perror("read");
free(mad);
}

In addition to the actual MAD contents, the other struct ib_user_mad
fields will be filled in with information on the received MAD. For
Expand All @@ -50,18 +74,21 @@ Sending MADs

MADs are sent using write(). The agent ID for sending should be
filled into the id field of the MAD, the destination LID should be
filled into the lid field, and so on. For example:
filled into the lid field, and so on. The send side does support
RMPP so arbitrary length MAD can be sent. For example:

struct ib_user_mad *mad;

struct ib_user_mad mad;
mad = malloc(sizeof *mad + mad_length);

/* fill in mad.data */
/* fill in mad->data */

mad.id = my_agent; /* req.id from agent registration */
mad.lid = my_dest; /* in network byte order... */
mad->hdr.id = my_agent; /* req.id from agent registration */
mad->hdr.lid = my_dest; /* in network byte order... */
/* etc. */

ret = write(fd, &mad, sizeof mad);
if (ret != sizeof mad)
ret = write(fd, &mad, sizeof *mad + mad_length);
if (ret != sizeof *mad + mad_length)
perror("write");

Setting IsSM Capability Bit
Expand Down
5 changes: 5 additions & 0 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ running once the system is up.

acpi_fake_ecdt [HW,ACPI] Workaround failure due to BIOS lacking ECDT

acpi_generic_hotkey [HW,ACPI]
Allow consolidated generic hotkey driver to
over-ride platform specific driver.
See also Documentation/acpi-hotkey.txt.

ad1816= [HW,OSS]
Format: <io>,<irq>,<dma>,<dma2>
See also Documentation/sound/oss/AD1816.
Expand Down
Loading

0 comments on commit 7622e29

Please sign in to comment.