Commit 149ffd28 authored by Steven Cole's avatar Steven Cole Committed by Hideaki Yoshifuji

[PATCH] Documentation spelling cleanup

This patch fixes spelling errors in the Documentation directory and was
extensively reviewed by the following people: Dan Kegel, David
Woodhouse, Joe Perches, Jared Daniel J.  Smith, Michael Hayes, and
Steven Cole
parent cf3e3d83
...@@ -216,7 +216,7 @@ calls. ...@@ -216,7 +216,7 @@ calls.
<para> <para>
A new feature of jbd since 2.5.25 is commit callbacks with the new A new feature of jbd since 2.5.25 is commit callbacks with the new
journal_callback_set() function you can now ask the journalling layer journal_callback_set() function you can now ask the journalling layer
to call you back when the transaction is finally commited to disk, so that to call you back when the transaction is finally committed to disk, so that
you can do some of your own management. The key to this is the journal_callback you can do some of your own management. The key to this is the journal_callback
struct, this maintains the internal callback information but you can struct, this maintains the internal callback information but you can
extend it like this:- extend it like this:-
...@@ -232,7 +232,7 @@ extend it like this:- ...@@ -232,7 +232,7 @@ extend it like this:-
</programlisting> </programlisting>
<para> <para>
this would be useful if you needed to know when data was commited to a this would be useful if you needed to know when data was committed to a
particular inode. particular inode.
</para> </para>
......
...@@ -536,7 +536,7 @@ by ifconfig causes the media link down. ...@@ -536,7 +536,7 @@ by ifconfig causes the media link down.
<ListItem> <ListItem>
<Para> <Para>
November 13, 2000, Revision 1.07, seventh release, 630E problem fixed November 13, 2000, Revision 1.07, seventh release, 630E problem fixed
and furthur clean up. and further clean up.
</Para> </Para>
</ListItem> </ListItem>
......
...@@ -47,7 +47,7 @@ which serial port it should use for the kernel console (generally ...@@ -47,7 +47,7 @@ which serial port it should use for the kernel console (generally
used for debugging purposes, or communication with the target.) used for debugging purposes, or communication with the target.)
As an alternative, the boot loader can pass the relevant 'console=' As an alternative, the boot loader can pass the relevant 'console='
option to the kernel via the tagged lists specifing the port, and option to the kernel via the tagged lists specifying the port, and
serial format options as described in serial format options as described in
linux/Documentation/kernel-parameters.txt. linux/Documentation/kernel-parameters.txt.
......
...@@ -39,7 +39,7 @@ must ensure your user space applications make use of the correct device ...@@ -39,7 +39,7 @@ must ensure your user space applications make use of the correct device
name. The classic example is the content of the /etc/inittab file where name. The classic example is the content of the /etc/inittab file where
you might have a getty process started on ttyS0. In this case: you might have a getty process started on ttyS0. In this case:
- replace occurences of ttyS0 with ttySA0, ttyS1 with ttySA1, etc. - replace occurrences of ttyS0 with ttySA0, ttyS1 with ttySA1, etc.
- don't forget to add 'ttySA0', 'console', or the appropriate tty name - don't forget to add 'ttySA0', 'console', or the appropriate tty name
in /etc/securetty for root to be allowed to login as well. in /etc/securetty for root to be allowed to login as well.
......
...@@ -97,7 +97,7 @@ below: ...@@ -97,7 +97,7 @@ below:
initrd_size initrd_size
This describes the kernel virtual start address and size of the This describes the kernel virtual start address and size of the
inital ramdisk. initial ramdisk.
rd_start rd_start
......
...@@ -142,7 +142,7 @@ void dma_test(void) ...@@ -142,7 +142,7 @@ void dma_test(void)
/* User's responsibility to keep buffers cached coherent */ /* User's responsibility to keep buffers cached coherent */
cpu_dcache_clean(sgl->data, sgl->data + 1024); cpu_dcache_clean(sgl->data, sgl->data + 1024);
/* queing the buffer, this function will sleep since no callback */ /* queuing the buffer, this function will sleep since no callback */
err = dma_queue_buffer(channel, sgl_head); err = dma_queue_buffer(channel, sgl_head);
/* now we are woken from DMA complete */ /* now we are woken from DMA complete */
...@@ -186,7 +186,7 @@ dma_suspend(). ...@@ -186,7 +186,7 @@ dma_suspend().
int dma_flush_all(dmach_t channel); int dma_flush_all(dmach_t channel);
This completely flushes all queued buffers and on-going DMA transfers on a This completely flushes all queued buffers and on-going DMA transfers on a
given channel. This is called when DMA channel errors have occured. given channel. This is called when DMA channel errors have occurred.
void dma_free(dmach_t channel); void dma_free(dmach_t channel);
......
...@@ -51,7 +51,7 @@ fixing up or sending SIGBUS signals: ...@@ -51,7 +51,7 @@ fixing up or sending SIGBUS signals:
echo 1 > /proc/sys/debug/alignment echo 1 > /proc/sys/debug/alignment
You can also read the content of the same file to get statistical You can also read the content of the same file to get statistical
information on unaligned access occurences plus the current mode of information on unaligned access occurrences plus the current mode of
operation for user space code. operation for user space code.
......
...@@ -635,9 +635,9 @@ to the numbers of sectors in the current segment being processed which could ...@@ -635,9 +635,9 @@ to the numbers of sectors in the current segment being processed which could
be one of the many segments in the current bio (i.e i/o completion unit). be one of the many segments in the current bio (i.e i/o completion unit).
The nr_sectors value refers to the total number of sectors in the whole The nr_sectors value refers to the total number of sectors in the whole
request that remain to be transferred (no change). The purpose of the request that remain to be transferred (no change). The purpose of the
hard_xxx values is for block to remember these counts everytime it hands hard_xxx values is for block to remember these counts every time it hands
over the request to the driver. These values are updated by block on over the request to the driver. These values are updated by block on
end_that_request_first, i.e. everytime the driver completes a part of the end_that_request_first, i.e. every time the driver completes a part of the
transfer and invokes block end*request helpers to mark this. The transfer and invokes block end*request helpers to mark this. The
driver should not modify these values. The block layer sets up the driver should not modify these values. The block layer sets up the
nr_sectors and current_nr_sectors fields (based on the corresponding nr_sectors and current_nr_sectors fields (based on the corresponding
......
...@@ -539,7 +539,7 @@ X ...@@ -539,7 +539,7 @@ X
X for PORTNO in $MINORS X for PORTNO in $MINORS
X do X do
X if test ! -c /dev/ttyF$PORTNO ; then X if test ! -c /dev/ttyF$PORTNO ; then
X # We got the harware but no device - make it X # We got the hardware but no device - make it
X mknod /dev/ttyF$PORTNO c $TTYMAJOR $PORTNO X mknod /dev/ttyF$PORTNO c $TTYMAJOR $PORTNO
X fi X fi
X done X done
...@@ -552,7 +552,7 @@ X ...@@ -552,7 +552,7 @@ X
X for PORTNO in $MINORS X for PORTNO in $MINORS
X do X do
X if test ! -c /dev/cuf$PORTNO ; then X if test ! -c /dev/cuf$PORTNO ; then
X # We got the harware but no device - make it X # We got the hardware but no device - make it
X mknod /dev/cuf$PORTNO c $CUAMAJOR $PORTNO X mknod /dev/cuf$PORTNO c $CUAMAJOR $PORTNO
X fi X fi
X done X done
......
...@@ -49,9 +49,9 @@ EISA Controllers: ...@@ -49,9 +49,9 @@ EISA Controllers:
----------------- -----------------
If you want to use an EISA controller you'll have to supply some If you want to use an EISA controller you'll have to supply some
insmod/lilo paramaters. If the driver is compiled into the kernel, must insmod/lilo parameters. If the driver is compiled into the kernel, must
give it the controller's IO port address at boot time (it is no longer give it the controller's IO port address at boot time (it is no longer
necessary to specifiy the IRQ). For example, if you had two SMART-2/E necessary to specify the IRQ). For example, if you had two SMART-2/E
controllers, in EISA slots 1 and 2 you'd give it a boot argument like controllers, in EISA slots 1 and 2 you'd give it a boot argument like
this: this:
......
...@@ -898,7 +898,7 @@ Your cooperation is appreciated. ...@@ -898,7 +898,7 @@ Your cooperation is appreciated.
... ...
Network Block Device is somehow similar to loopback Network Block Device is somehow similar to loopback
devices: If you read from it, it sends packet accross devices: If you read from it, it sends packet across
network asking server for data. If you write to it, it network asking server for data. If you write to it, it
sends packet telling server to write. It could be used sends packet telling server to write. It could be used
to mounting filesystems over the net, swapping over to mounting filesystems over the net, swapping over
......
...@@ -36,7 +36,7 @@ Initialization ...@@ -36,7 +36,7 @@ Initialization
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
The driver must initialize at least the name and bus fields. It should The driver must initialize at least the name and bus fields. It should
also initalize the devclass field (when it arrives), so it may obtain also initialize the devclass field (when it arrives), so it may obtain
the proper linkage internally. It should also initialize as many of the proper linkage internally. It should also initialize as many of
the callbacks as possible, though each is optional. the callbacks as possible, though each is optional.
...@@ -93,7 +93,7 @@ static struct pci_driver eepro100_driver = { ...@@ -93,7 +93,7 @@ static struct pci_driver eepro100_driver = {
}, },
}; };
Some may find the syntax of embedded struct intialization awkward or Some may find the syntax of embedded struct initialization awkward or
even a bit ugly. So far, it's the best way we've found to do what we want... even a bit ugly. So far, it's the best way we've found to do what we want...
Registration Registration
...@@ -198,7 +198,7 @@ it into a supported low-power state. ...@@ -198,7 +198,7 @@ it into a supported low-power state.
int (*suspend) (struct device * dev, u32 state, u32 level); int (*suspend) (struct device * dev, u32 state, u32 level);
suspend is called to put the device in a low power state. There are suspend is called to put the device in a low power state. There are
several stages to sucessfully suspending a device, which is denoted in several stages to successfully suspending a device, which is denoted in
the @level parameter. Breaking the suspend transition into several the @level parameter. Breaking the suspend transition into several
stages affords the platform flexibility in performing device power stages affords the platform flexibility in performing device power
management based on the requirements of the system and the management based on the requirements of the system and the
...@@ -206,7 +206,7 @@ user-defined policy. ...@@ -206,7 +206,7 @@ user-defined policy.
SUSPEND_NOTIFY notifies the device that a suspend transition is about SUSPEND_NOTIFY notifies the device that a suspend transition is about
to happen. This happens on system power state transition to verify to happen. This happens on system power state transition to verify
that all devices can sucessfully suspend. that all devices can successfully suspend.
A driver may choose to fail on this call, which should cause the A driver may choose to fail on this call, which should cause the
entire suspend transition to fail. A driver should fail only if it entire suspend transition to fail. A driver should fail only if it
......
...@@ -34,7 +34,7 @@ foremost, it groups all the legacy devices under a common bus, and ...@@ -34,7 +34,7 @@ foremost, it groups all the legacy devices under a common bus, and
gives them a common parent if they don't already have one. gives them a common parent if they don't already have one.
But, besides the organizational benefits, the platform bus can also But, besides the organizational benefits, the platform bus can also
accomodate firmware-based enumeration. accommodate firmware-based enumeration.
Device Discovery Device Discovery
......
...@@ -45,7 +45,7 @@ the dcache that are not needed for normal filesystem access. ...@@ -45,7 +45,7 @@ the dcache that are not needed for normal filesystem access.
to already have a (non-connected) dentry, and must be able to move to already have a (non-connected) dentry, and must be able to move
that dentry into place (based on the parent and name in the that dentry into place (based on the parent and name in the
->lookup). This is particuarly needed for directories as ->lookup). This is particuarly needed for directories as
it is a dcache invarient that directories only have one dentry. it is a dcache invariant that directories only have one dentry.
To implement these features, the dcache has: To implement these features, the dcache has:
......
...@@ -56,7 +56,7 @@ How it works ...@@ -56,7 +56,7 @@ How it works
Operational issues (essential reading) Operational issues (essential reading)
Instructions for the impatient Instructions for the impatient
Permissions persistence accross reboots Permissions persistence across reboots
Dealing with drivers without devfs support Dealing with drivers without devfs support
All the way with Devfs All the way with Devfs
Other Issues Other Issues
......
...@@ -110,4 +110,4 @@ not introduce a cycle will leave it a tree and link() fails for directories). ...@@ -110,4 +110,4 @@ not introduce a cycle will leave it a tree and link() fails for directories).
Notice that "directory" in the above == "anything that might have Notice that "directory" in the above == "anything that might have
children", so if we are going to introduce hybrid objects we will need children", so if we are going to introduce hybrid objects we will need
either to make sure that link(2) doesn't work for them or to make changes either to make sure that link(2) doesn't work for them or to make changes
in is_subdir() that would make it work even in presense of such beasts. in is_subdir() that would make it work even in presence of such beasts.
...@@ -48,11 +48,11 @@ resuid=n The user ID which may use the reserved blocks. ...@@ -48,11 +48,11 @@ resuid=n The user ID which may use the reserved blocks.
sb=n Use alternate superblock at this location. sb=n Use alternate superblock at this location.
data=journal All data are commited into the journal prior data=journal All data are committed into the journal prior
to being written into the main file system. to being written into the main file system.
data=ordered (*) All data are forced directly out to the main file data=ordered (*) All data are forced directly out to the main file
system prior to its metadata being commited to system prior to its metadata being committed to
the journal. the journal.
data=writeback Data ordering is not preserved, data may be data=writeback Data ordering is not preserved, data may be
......
...@@ -344,7 +344,7 @@ allocation failed. ...@@ -344,7 +344,7 @@ allocation failed.
Each column represents the number of pages of a certain order which are Each column represents the number of pages of a certain order which are
available. In this case, there are 0 chunks of 2^0*PAGE_SIZE available in available. In this case, there are 0 chunks of 2^0*PAGE_SIZE available in
ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE
availble in ZONE_NORMAL, etc... available in ZONE_NORMAL, etc...
1.3 IDE devices in /proc/ide 1.3 IDE devices in /proc/ide
......
...@@ -55,7 +55,7 @@ per file. It is noted that it may not be efficient to contain only ...@@ -55,7 +55,7 @@ per file. It is noted that it may not be efficient to contain only
value per file, so it is socially acceptable to express an array of value per file, so it is socially acceptable to express an array of
values of the same type. values of the same type.
Mixing types, expressing mulitple lines of data, and doing fancy Mixing types, expressing multiple lines of data, and doing fancy
formatting of data is heavily frowned upon. Doing these things may get formatting of data is heavily frowned upon. Doing these things may get
you publically humiliated and your code rewritten without notice. you publically humiliated and your code rewritten without notice.
......
...@@ -29,7 +29,7 @@ delivery mode (redirectable): ...@@ -29,7 +29,7 @@ delivery mode (redirectable):
The output of the command The output of the command
cat /proc/irq/IRQ#/smp_affinity cat /proc/irq/IRQ#/smp_affinity
gives the target CPU mask for the specified interrupt vector. If the CPU gives the target CPU mask for the specified interrupt vector. If the CPU
mask is preceeded by the character "r", the interrupt is redirectable mask is preceded by the character "r", the interrupt is redirectable
(i.e. lowest priority mode routing is used), otherwise its route is (i.e. lowest priority mode routing is used), otherwise its route is
fixed. fixed.
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
============================================================================== ==============================================================================
The hdparm utility can be used to controll various IDE features on a The hdparm utility can be used to control various IDE features on a
running system. It is packaged separately. Please Look for it on popular running system. It is packaged separately. Please Look for it on popular
linux FTP sites. linux FTP sites.
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
================================================================================ ================================================================================
Common pitfalls: Common pitfalls:
- 40-conductor IDE cables are capable of transfering data in DMA modes up to - 40-conductor IDE cables are capable of transferring data in DMA modes up to
udma2, but no faster. udma2, but no faster.
- If possible devices should be attached to separate channels if they are - If possible devices should be attached to separate channels if they are
......
...@@ -163,7 +163,7 @@ Control of playing is done with write(). Below is an example: ...@@ -163,7 +163,7 @@ Control of playing is done with write(). Below is an example:
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Not all devices have the same strength. Therefore, users should set a gain Not all devices have the same strength. Therefore, users should set a gain
factor depending on how strong they want effects to be. This setting is factor depending on how strong they want effects to be. This setting is
persistent accross access to the driver, so you should not care about it if persistent across access to the driver, so you should not care about it if
you are writing games, as another utility probably already set this for you. you are writing games, as another utility probably already set this for you.
/* Set the gain of the device /* Set the gain of the device
...@@ -200,7 +200,7 @@ A value of 0 means "no auto-center". ...@@ -200,7 +200,7 @@ A value of 0 means "no auto-center".
Proceed as if you wanted to upload a new effect, except that instead of Proceed as if you wanted to upload a new effect, except that instead of
setting the id field to -1, you set it to the wanted effect id. setting the id field to -1, you set it to the wanted effect id.
Normally, the effect is not stopped and restarted. However, depending on the Normally, the effect is not stopped and restarted. However, depending on the
type of device, not all paramaters can be dynamically updated. For example, type of device, not all parameters can be dynamically updated. For example,
the direction of an effect cannot be updated with iforce devices. In this the direction of an effect cannot be updated with iforce devices. In this
case, the driver stops the effect, up-load it, and restart it. case, the driver stops the effect, up-load it, and restart it.
......
...@@ -735,7 +735,7 @@ Description of the Interface between Linklevel and Hardwarelevel ...@@ -735,7 +735,7 @@ Description of the Interface between Linklevel and Hardwarelevel
driver = driver-Id driver = driver-Id
command = ISDN_STAT_PROT command = ISDN_STAT_PROT
arg = The lower 8 Bits define the addressed protocol as defined arg = The lower 8 Bits define the addressed protocol as defined
in ISDN_PTYPE..., the upper bits are used to differenciate in ISDN_PTYPE..., the upper bits are used to differentiate
the protocol specific STAT. the protocol specific STAT.
para = protocol and function specific. See isdnif.h for detail. para = protocol and function specific. See isdnif.h for detail.
......
...@@ -69,7 +69,7 @@ applicable everywhere (see syntax). ...@@ -69,7 +69,7 @@ applicable everywhere (see syntax).
default values are visible, only the first defined one is active. default values are visible, only the first defined one is active.
Default values are not limited to the menu entry, where they are Default values are not limited to the menu entry, where they are
defined, this means the default can be defined somewhere else or be defined, this means the default can be defined somewhere else or be
overriden by an earlier definition. overridden by an earlier definition.
The default value is only assigned to the config symbol if no other The default value is only assigned to the config symbol if no other
value was set by the user (via the input prompt above). If an input value was set by the user (via the input prompt above). If an input
prompt is visible the default value is presented to the user and can prompt is visible the default value is presented to the user and can
...@@ -142,7 +142,7 @@ Menu structure ...@@ -142,7 +142,7 @@ Menu structure
-------------- --------------
The position of a menu entry in the tree is determined in two ways. First The position of a menu entry in the tree is determined in two ways. First
it can be specified explicitely: it can be specified explicitly:
menu "Network device support" menu "Network device support"
depends NET depends NET
......
...@@ -561,7 +561,7 @@ located in the same directory as the makefile. ...@@ -561,7 +561,7 @@ located in the same directory as the makefile.
Usually kbuild descends down in subdirectories due to "obj-* := dir/", Usually kbuild descends down in subdirectories due to "obj-* := dir/",
but in the architecture makefiles where the kbuild infrastructure but in the architecture makefiles where the kbuild infrastructure
is not sufficent this sometimes needs to be explicit. is not sufficient this sometimes needs to be explicit.
Example: Example:
#arch/i386/boot/Makefile #arch/i386/boot/Makefile
......
...@@ -21,7 +21,7 @@ are: ...@@ -21,7 +21,7 @@ are:
This is a program for converting SGML template files into SGML This is a program for converting SGML template files into SGML
files. When a file is referenced it is searched for symbols files. When a file is referenced it is searched for symbols
exported (EXPORT_SYMBOL), to be able to distingush between internal exported (EXPORT_SYMBOL), to be able to distinguish between internal
and external functions. and external functions.
It invokes kernel-doc, giving it the list of functions that It invokes kernel-doc, giving it the list of functions that
are to be documented. are to be documented.
......
...@@ -488,7 +488,7 @@ ...@@ -488,7 +488,7 @@
memory allocation. memory allocation.
Description: Article written for people wishing to make their data Description: Article written for people wishing to make their data
acquisition boards work on their GNU/Linux machines. Gives a basic acquisition boards work on their GNU/Linux machines. Gives a basic
overview on writting drivers, from the naming of functions to overview on writing drivers, from the naming of functions to
interrupt handling. interrupt handling.
Notes: Two-parts article. Part II is at Notes: Two-parts article. Part II is at
http://www.ednmag.com/ednmag/reg/2000/07062000/14df.htm http://www.ednmag.com/ednmag/reg/2000/07062000/14df.htm
......
...@@ -7,7 +7,7 @@ Patrick Mochel <mochel@osdl.org> ...@@ -7,7 +7,7 @@ Patrick Mochel <mochel@osdl.org>
0. Introduction 0. Introduction
The kobject infrastructure performs basic object managment that larger The kobject infrastructure performs basic object management that larger
data structures and subsystems can leverage, rather than reimplement data structures and subsystems can leverage, rather than reimplement
similar functionality. This functionality consists primarily concerns: similar functionality. This functionality consists primarily concerns:
......
...@@ -146,7 +146,7 @@ HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c ...@@ -146,7 +146,7 @@ HTB_CMAGIC 0xFEFAFEF1 htb_class net/sched/sch_htb.c
NMI_MAGIC 0x48414d4d455201 nmi_s include/asm-mips64/sn/nmi.h NMI_MAGIC 0x48414d4d455201 nmi_s include/asm-mips64/sn/nmi.h
Note that there are also defined special per-driver magic numbers in sound Note that there are also defined special per-driver magic numbers in sound
memory managment. See include/sound/sndmagic.h for complete list of them. Many memory management. See include/sound/sndmagic.h for complete list of them. Many
OSS sound drivers have their magic numbers constructed from the soundcard PCI OSS sound drivers have their magic numbers constructed from the soundcard PCI
ID - these are not listed here as well. ID - these are not listed here as well.
......
...@@ -41,7 +41,7 @@ the driver now re-sizes buffers based on MTU settings as well. ...@@ -41,7 +41,7 @@ the driver now re-sizes buffers based on MTU settings as well.
message_level: Controls level of messages created by the driver. Defaults to 0: message_level: Controls level of messages created by the driver. Defaults to 0:
which only displays start-up and critical messages. Presently any non-zero which only displays start-up and critical messages. Presently any non-zero
value will display all soft messages as well. NB This does not turn value will display all soft messages as well. NB This does not turn
debuging messages on, that must be done by modified the source code. debugging messages on, that must be done by modified the source code.
Variable MTU size: Variable MTU size:
......
...@@ -106,7 +106,7 @@ For versions of the driver v1.18c and above, the available transceiver types are ...@@ -106,7 +106,7 @@ For versions of the driver v1.18c and above, the available transceiver types are
8 transceiver type and duplex mode taken from card's EEPROM config settings 8 transceiver type and duplex mode taken from card's EEPROM config settings
12 10baseT (RJ-45 connector); force full-duplex mode 12 10baseT (RJ-45 connector); force full-duplex mode
Prior to driver version 1.18c, only tranceiver codes 0-4 were supported. Note Prior to driver version 1.18c, only transceiver codes 0-4 were supported. Note
that the new transceiver codes 8 and 12 are the *only* ones that will enable that the new transceiver codes 8 and 12 are the *only* ones that will enable
full-duplex mode, no matter what the card's detected EEPROM settings might be. full-duplex mode, no matter what the card's detected EEPROM settings might be.
This insured that merely upgrading the driver from an earlier version would This insured that merely upgrading the driver from an earlier version would
...@@ -146,7 +146,7 @@ you have a routing problem. ...@@ -146,7 +146,7 @@ you have a routing problem.
Tx Carrier Errors Reported in /proc/net/dev Tx Carrier Errors Reported in /proc/net/dev
If an EtherLink III appears to transmit packets, but the "Tx carrier errors" If an EtherLink III appears to transmit packets, but the "Tx carrier errors"
field in /proc/net/dev increments as quickly as the Tx packet count, you field in /proc/net/dev increments as quickly as the Tx packet count, you
likely have an unterminated network or the incorrect media tranceiver selected. likely have an unterminated network or the incorrect media transceiver selected.
3c509B card is not detected on machines with an ISA PnP BIOS. 3c509B card is not detected on machines with an ISA PnP BIOS.
While the updated driver works with most PnP BIOS programs, it does not work While the updated driver works with most PnP BIOS programs, it does not work
......
...@@ -85,7 +85,7 @@ There are two types of event register ACK mechanisms. ...@@ -85,7 +85,7 @@ There are two types of event register ACK mechanisms.
In this case your only choice is to move all to dev->poll() In this case your only choice is to move all to dev->poll()
II) Clear-on-write (COW) II) Clear-on-write (COW)
i) you clear the status by writting a 1 in the bit-location you want. i) you clear the status by writing a 1 in the bit-location you want.
These are the majority of the NICs and work the best with NAPI. These are the majority of the NICs and work the best with NAPI.
Put only receive events in dev->poll(); leave the rest in Put only receive events in dev->poll(); leave the rest in
the old interrupt handler. the old interrupt handler.
...@@ -200,7 +200,7 @@ dev->open = my_open; ...@@ -200,7 +200,7 @@ dev->open = my_open;
/* two new additions */ /* two new additions */
/* first register my poll method */ /* first register my poll method */
dev->poll = my_poll; dev->poll = my_poll;
/* next register my weight/quanta; can be overriden in /proc */ /* next register my weight/quanta; can be overridden in /proc */
dev->weight = 16; dev->weight = 16;
. .
. .
...@@ -346,10 +346,10 @@ discussed further below. ...@@ -346,10 +346,10 @@ discussed further below.
netif_rx_schedule_prep() returns 1 if device is in running state and netif_rx_schedule_prep() returns 1 if device is in running state and
gets successfully added to the core poll list. If we get a zero value gets successfully added to the core poll list. If we get a zero value
we can _almost_ assume are already added to the list (instead of not running. we can _almost_ assume are already added to the list (instead of not running.
Logic based on the fact that you shouldnt get interrupt if not running) Logic based on the fact that you shouldn't get interrupt if not running)
We rectify this by disabling rx and rxnobuf interrupts. We rectify this by disabling rx and rxnobuf interrupts.
II) that receive_packets(dev) and make_rx_buffs_avail() may have dissapeared. II) that receive_packets(dev) and make_rx_buffs_avail() may have disappeared.
These functionalities are still around actually...... These functionalities are still around actually......
infact, receive_packets(dev) is very close to my_poll() and infact, receive_packets(dev) is very close to my_poll() and
...@@ -442,7 +442,7 @@ static void my_poll (struct net_device *dev, int *budget) ...@@ -442,7 +442,7 @@ static void my_poll (struct net_device *dev, int *budget)
int rx_work_limit = dev->quota; int rx_work_limit = dev->quota;
/************************ end note note *********************************/ /************************ end note note *********************************/
do { // outer beggining loop starts here do { // outer beginning loop starts here
clear_rx_status_register_bit(); clear_rx_status_register_bit();
......
...@@ -304,7 +304,7 @@ options bond1 -o bonding1 miimon=100 ...@@ -304,7 +304,7 @@ options bond1 -o bonding1 miimon=100
Configuring Multiple ARP Targets Configuring Multiple ARP Targets
================================ ================================
While ARP monitoring can be done with just one target, it can be usefull While ARP monitoring can be done with just one target, it can be useful
in a High Availability setup to have several targets to monitor. In the in a High Availability setup to have several targets to monitor. In the
case of just one target, the target itself may go down or have a problem case of just one target, the target itself may go down or have a problem
making it unresponsive to ARP requests. Having an additional target (or making it unresponsive to ARP requests. Having an additional target (or
......
...@@ -540,7 +540,7 @@ main(int argc, char **argv) ...@@ -540,7 +540,7 @@ main(int argc, char **argv)
static short mif_flags; static short mif_flags;
/* Get the inteface configuration from the kernel. */ /* Get the interface configuration from the kernel. */
static int if_getconfig(char *ifname) static int if_getconfig(char *ifname)
{ {
struct ifreq ifr; struct ifreq ifr;
......
...@@ -243,7 +243,7 @@ Chapter 6. Known Problems and Bugs ...@@ -243,7 +243,7 @@ Chapter 6. Known Problems and Bugs
Chapter 7. Revision History Chapter 7. Revision History
* November 13, 2000, Revision 1.07, seventh release, 630E problem * November 13, 2000, Revision 1.07, seventh release, 630E problem
fixed and furthur clean up. fixed and further clean up.
* November 4, 1999, Revision 1.06, Second release, lots of clean up * November 4, 1999, Revision 1.06, Second release, lots of clean up
and optimization. and optimization.
* August 8, 1999, Revision 1.05, Initial Public Release * August 8, 1999, Revision 1.05, Initial Public Release
......
...@@ -138,7 +138,7 @@ Insert a line of the form: ...@@ -138,7 +138,7 @@ Insert a line of the form:
options sk98lin ... options sk98lin ...
For "...", use the same syntax as described below for the command For "...", use the same syntax as described below for the command
line paramaters of modprobe. line parameters of modprobe.
You either have to reboot your computer or unload and reload You either have to reboot your computer or unload and reload
the driver to activate the new parameters. the driver to activate the new parameters.
The syntax of the driver parameters is: The syntax of the driver parameters is:
...@@ -276,7 +276,7 @@ which you set the parameter (A or B). ...@@ -276,7 +276,7 @@ which you set the parameter (A or B).
Large frames (also called jumbo frames) are now supported by the Large frames (also called jumbo frames) are now supported by the
driver. This can result in a greatly improved throughput if driver. This can result in a greatly improved throughput if
transfering large amounts of data. transferring large amounts of data.
To enable large frames, set the MTU (maximum transfer unit) To enable large frames, set the MTU (maximum transfer unit)
of the interface to the value you wish (up to 9000). The command of the interface to the value you wish (up to 9000). The command
for this is: for this is:
...@@ -489,7 +489,7 @@ Problems fixed: ...@@ -489,7 +489,7 @@ Problems fixed:
established (#10402) established (#10402)
- Installation problems with RedHat 6.0 (#10409) - Installation problems with RedHat 6.0 (#10409)
New Features: New Features:
- Connection state ouput at "network connection up" - Connection state output at "network connection up"
Known limitations: Known limitations:
- None - None
......
...@@ -40,7 +40,7 @@ Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com> ...@@ -40,7 +40,7 @@ Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
Set permissions: Set permissions:
e.g. chmod 0700 /dev/net/tun e.g. chmod 0700 /dev/net/tun
if you want the device only accesible by root. Giving regular users the if you want the device only accessible by root. Giving regular users the
right to assign network devices is NOT a good idea. Users could assign right to assign network devices is NOT a good idea. Users could assign
bogus network interfaces to trick firewalls or administrators. bogus network interfaces to trick firewalls or administrators.
......
...@@ -577,7 +577,7 @@ bata1-2.2.1 Feb 09 2001 ...@@ -577,7 +577,7 @@ bata1-2.2.1 Feb 09 2001
bata2-2.2.1 Feb 20 2001 bata2-2.2.1 Feb 20 2001
o Bug fixes to the CHDLC device drivers. o Bug fixes to the CHDLC device drivers.
The driver had compilation problmes under kernels The driver had compilation problems under kernels
2.2.14 or lower. 2.2.14 or lower.
o Bug fixes to the Setup installation script. o Bug fixes to the Setup installation script.
......
...@@ -577,7 +577,7 @@ bata1-2.2.1 Feb 09 2001 ...@@ -577,7 +577,7 @@ bata1-2.2.1 Feb 09 2001
bata2-2.2.1 Feb 20 2001 bata2-2.2.1 Feb 20 2001
o Bug fixes to the CHDLC device drivers. o Bug fixes to the CHDLC device drivers.
The driver had compilation problmes under kernels The driver had compilation problems under kernels
2.2.14 or lower. 2.2.14 or lower.
o Bug fixes to the Setup installation script. o Bug fixes to the Setup installation script.
......
...@@ -219,7 +219,7 @@ characters, each representing a particular tainted value. ...@@ -219,7 +219,7 @@ characters, each representing a particular tainted value.
2: 'F' if any module was force loaded by insmod -f, ' ' if all 2: 'F' if any module was force loaded by insmod -f, ' ' if all
modules were loaded normally. modules were loaded normally.
3: 'S' if the oops occured on an SMP kernel running on hardware that 3: 'S' if the oops occurred on an SMP kernel running on hardware that
hasn't been certified as safe to run multiprocessor. hasn't been certified as safe to run multiprocessor.
Currently this occurs only on various Athlons that are not Currently this occurs only on various Athlons that are not
SMP capable. SMP capable.
......
...@@ -96,7 +96,7 @@ The Unified Plug and Play Layer ...@@ -96,7 +96,7 @@ The Unified Plug and Play Layer
All Plug and Play drivers, protocols, and services meet at a central location All Plug and Play drivers, protocols, and services meet at a central location
called the Plug and Play Layer. This layer is responsible for the exchange of called the Plug and Play Layer. This layer is responsible for the exchange of
information between PnP drivers and PnP protocols. Thus it automatically information between PnP drivers and PnP protocols. Thus it automatically
forwards commands to the proper protocol. This makes writting PnP drivers forwards commands to the proper protocol. This makes writing PnP drivers
significantly easier. significantly easier.
The following functions are available from the Plug and Play Layer: The following functions are available from the Plug and Play Layer:
......
...@@ -52,7 +52,7 @@ The current architectures have the following registers. ...@@ -52,7 +52,7 @@ The current architectures have the following registers.
16 General propose registers, 32 bit on s/390 64 bit on z/Architecture, r0-r15 or gpr0-gpr15 used for arithmetic & addressing. 16 General propose registers, 32 bit on s/390 64 bit on z/Architecture, r0-r15 or gpr0-gpr15 used for arithmetic & addressing.
16 Control registers, 32 bit on s/390 64 bit on z/Architecture, ( cr0-cr15 kernel usage only ) used for memory managment, 16 Control registers, 32 bit on s/390 64 bit on z/Architecture, ( cr0-cr15 kernel usage only ) used for memory management,
interrupt control,debugging control etc. interrupt control,debugging control etc.
16 Access registers ( ar0-ar15 ) 32 bit on s/390 & z/Architecture 16 Access registers ( ar0-ar15 ) 32 bit on s/390 & z/Architecture
...@@ -243,7 +243,7 @@ of our 32 bit addresses,however, we use entirely separate address ...@@ -243,7 +243,7 @@ of our 32 bit addresses,however, we use entirely separate address
spaces for the user & kernel. spaces for the user & kernel.
This means we can support 2GB of non Extended RAM on s/390, & more This means we can support 2GB of non Extended RAM on s/390, & more
with the Extended memory managment swap device & with the Extended memory management swap device &
currently 4TB of physical memory currently on z/Architecture. currently 4TB of physical memory currently on z/Architecture.
...@@ -385,7 +385,7 @@ This is a built in compiler function for runtime allocation ...@@ -385,7 +385,7 @@ This is a built in compiler function for runtime allocation
of extra space on the callers stack which is obviously freed of extra space on the callers stack which is obviously freed
up on function exit ( e.g. the caller may choose to allocate nothing up on function exit ( e.g. the caller may choose to allocate nothing
of a buffer of 4k if required for temporary purposes ), it generates of a buffer of 4k if required for temporary purposes ), it generates
very efficent code ( a few cycles ) when compared to alternatives very efficient code ( a few cycles ) when compared to alternatives
like malloc. like malloc.
automatics: These are local variables on the stack, automatics: These are local variables on the stack,
...@@ -1091,7 +1091,7 @@ e.g. The address range 0x2000 to 0x3000 can be described described as ...@@ -1091,7 +1091,7 @@ e.g. The address range 0x2000 to 0x3000 can be described described as
The VM Debugger is case insensitive. The VM Debugger is case insensitive.
VM's strengths are usually other debuggers weaknesses you can get at any resource VM's strengths are usually other debuggers weaknesses you can get at any resource
no matter how sensitive e.g. memory managment resources,change address translation no matter how sensitive e.g. memory management resources,change address translation
in the PSW. For kernel hacking you will reap dividends if you get good at it. in the PSW. For kernel hacking you will reap dividends if you get good at it.
The VM Debugger displays operators but not operands, probably because some The VM Debugger displays operators but not operands, probably because some
...@@ -1194,7 +1194,7 @@ displays the gprs on each step. ...@@ -1194,7 +1194,7 @@ displays the gprs on each step.
Displaying & modifying Registers Displaying & modifying Registers
-------------------------------- --------------------------------
D G will display all the gprs D G will display all the gprs
Adding a extra G to all the commands is neccessary to access the full 64 bit Adding a extra G to all the commands is necessary to access the full 64 bit
content in VM on z/Architecture obviously this isn't required for access registers content in VM on z/Architecture obviously this isn't required for access registers
as these are still 32 bit. as these are still 32 bit.
e.g. DGG instead of DG e.g. DGG instead of DG
...@@ -1280,7 +1280,7 @@ so it would be foolish to use this as the default on a production machine. ...@@ -1280,7 +1280,7 @@ so it would be foolish to use this as the default on a production machine.
Tracing particular processes Tracing particular processes
---------------------------- ----------------------------
The kernels text segment is intentionally at an address in memory that it will The kernel's text segment is intentionally at an address in memory that it will
very seldom collide with text segments of user programs ( thanks Martin ), very seldom collide with text segments of user programs ( thanks Martin ),
this simplifies debugging the kernel. this simplifies debugging the kernel.
However it is quite common for user processes to have addresses which collide However it is quite common for user processes to have addresses which collide
...@@ -1425,7 +1425,7 @@ from the bash prompt issue ...@@ -1425,7 +1425,7 @@ from the bash prompt issue
shutdown -h now or halt. shutdown -h now or halt.
do a Q CPUS to find out how many cpus you have do a Q CPUS to find out how many cpus you have
detach each one of them from cp except cpu 0 detach each one of them from cp except cpu 0
by issueing a by issuing a
DETACH CPU 01-(number of cpus in configuration) DETACH CPU 01-(number of cpus in configuration)
& boot linux again. & boot linux again.
TR SIGP will trace inter processor signal processor instructions. TR SIGP will trace inter processor signal processor instructions.
...@@ -1671,7 +1671,7 @@ compatibility & Format 1 ( 31 bit ). These are typically used to issue read & wr ...@@ -1671,7 +1671,7 @@ compatibility & Format 1 ( 31 bit ). These are typically used to issue read & wr
( & many other instructions ) they consist of a length field & an absolute address field. ( & many other instructions ) they consist of a length field & an absolute address field.
For each IO typically get 1 or 2 interrupts one for channel end ( primary status ) when the For each IO typically get 1 or 2 interrupts one for channel end ( primary status ) when the
channel is idle & the second for device end ( secondary status ) sometimes you get both channel is idle & the second for device end ( secondary status ) sometimes you get both
concurrently, you check how the IO went on by issueing a TEST SUBCHANNEL at each interrupt, concurrently, you check how the IO went on by issuing a TEST SUBCHANNEL at each interrupt,
from which you receive an Interruption response block (IRB). If you get channel & device end from which you receive an Interruption response block (IRB). If you get channel & device end
status in the IRB without channel checks etc. your IO probably went okay. If you didn't you status in the IRB without channel checks etc. your IO probably went okay. If you didn't you
probably need a doctorto examine the IRB & extended status word etc. probably need a doctorto examine the IRB & extended status word etc.
...@@ -2153,14 +2153,14 @@ program as if it just crashed on your system, it is usually called core & create ...@@ -2153,14 +2153,14 @@ program as if it just crashed on your system, it is usually called core & create
current working directory. current working directory.
This is very useful in that a customer can mail a core dump to a technical support department This is very useful in that a customer can mail a core dump to a technical support department
& the technical support department can reconstruct what happened. & the technical support department can reconstruct what happened.
Provided the have an indentical copy of this program with debugging symbols compiled in & Provided the have an identical copy of this program with debugging symbols compiled in &
the source base of this build is available. the source base of this build is available.
In short it is far more useful than something like a crash log could ever hope to be. In short it is far more useful than something like a crash log could ever hope to be.
In theory all that is missing to restart a core dumped program is a kernel patch which In theory all that is missing to restart a core dumped program is a kernel patch which
will do the following. will do the following.
1) Make a new kernel task structure 1) Make a new kernel task structure
2) Reload all the dumped pages back into the kernels memory managment structures. 2) Reload all the dumped pages back into the kernel's memory management structures.
3) Do the required clock fixups 3) Do the required clock fixups
4) Get all files & network connections for the process back into an identical state ( really difficult ). 4) Get all files & network connections for the process back into an identical state ( really difficult ).
5) A few more difficult things I haven't thought of. 5) A few more difficult things I haven't thought of.
...@@ -2374,7 +2374,7 @@ for more info. ...@@ -2374,7 +2374,7 @@ for more info.
e.g. e.g.
to switch on the lcs "debug feature" to switch on the lcs "debug feature"
echo 5 > /proc/s390dbf/lcs/level echo 5 > /proc/s390dbf/lcs/level
& then after the error occured. & then after the error occurred.
cat /proc/s390dbf/lcs/sprintf >/logfile cat /proc/s390dbf/lcs/sprintf >/logfile
the logfile now contains some information which may help the logfile now contains some information which may help
tech support resolve a problem in the field. tech support resolve a problem in the field.
...@@ -2462,9 +2462,9 @@ Michael Holzheu & others here at IBM have a fairly mature port of ...@@ -2462,9 +2462,9 @@ Michael Holzheu & others here at IBM have a fairly mature port of
SGI's lcrash tool which allows one to look at kernel structures in a SGI's lcrash tool which allows one to look at kernel structures in a
running kernel. running kernel.
It also complements a tool called dumptool which dumps all the kernels It also complements a tool called dumptool which dumps all the kernel's
memory pages & registers to either a tape or a disk. memory pages & registers to either a tape or a disk.
This can be used by tech support or an ambitous end user do This can be used by tech support or an ambitious end user do
post mortem debugging of a machine like gdb core dumps. post mortem debugging of a machine like gdb core dumps.
Going into how to use this tool in detail will be explained Going into how to use this tool in detail will be explained
......
...@@ -214,7 +214,7 @@ int read_conf_data(struct ccw_device, void **buffer, int *length, __u8 lpm); ...@@ -214,7 +214,7 @@ int read_conf_data(struct ccw_device, void **buffer, int *length, __u8 lpm);
cdev - the ccw_device the data is requested for. cdev - the ccw_device the data is requested for.
buffer - Pointer to a buffer pointer. The read_conf_data() routine buffer - Pointer to a buffer pointer. The read_conf_data() routine
will allocate a buffer and initialize the buffer pointer will allocate a buffer and initialize the buffer pointer
accordingly. It's the device driver's responsability to accordingly. It's the device driver's responsibility to
release the kernel memory if no longer needed. release the kernel memory if no longer needed.
length - Length of the buffer allocated and retrieved. length - Length of the buffer allocated and retrieved.
lpm - Logical path mask to be used for retrieving the data. If lpm - Logical path mask to be used for retrieving the data. If
...@@ -224,7 +224,7 @@ The read_conf_data() function returns : ...@@ -224,7 +224,7 @@ The read_conf_data() function returns :
0 - Successful completion 0 - Successful completion
-ENODEV - cdev invalid. -ENODEV - cdev invalid.
-EINVAL - An invalid parameter was detected, or the function was called early. -EINVAL - An invalid parameter was detected, or the function was called early.
-EIO - An irrecoverable I/O error occured or the device is -EIO - An irrecoverable I/O error occurred or the device is
not operational. not operational.
-ENOMEM - The read_conf_data() routine couldn't obtain storage. -ENOMEM - The read_conf_data() routine couldn't obtain storage.
-EOPNOTSUPP - The device doesn't support the read configuration -EOPNOTSUPP - The device doesn't support the read configuration
...@@ -428,7 +428,7 @@ Above flag allows to exploit this feature, e.g. for communication devices that ...@@ -428,7 +428,7 @@ Above flag allows to exploit this feature, e.g. for communication devices that
can handle lost data on the network to allow for enhanced I/O processing. can handle lost data on the network to allow for enhanced I/O processing.
Unless the channel subsystem at any time presents a secondary status interrupt, Unless the channel subsystem at any time presents a secondary status interrupt,
exploiting this feature will cause only primary status interrups to be exploiting this feature will cause only primary status interrupts to be
presented to the device driver while overlapping I/O is performed. When a presented to the device driver while overlapping I/O is performed. When a
secondary status without error (alert status) is presented, this indicates secondary status without error (alert status) is presented, this indicates
successful completion for all overlapping ccw_device_start() requests that have successful completion for all overlapping ccw_device_start() requests that have
......
...@@ -53,7 +53,7 @@ This is done in several steps. ...@@ -53,7 +53,7 @@ This is done in several steps.
a. Each driver can provide one or more parameter interfaces where parameters can a. Each driver can provide one or more parameter interfaces where parameters can
be specified. These interfaces are also in the driver's responsibility. be specified. These interfaces are also in the driver's responsibility.
b. After a. has been performed, if neccessary, the device is finally brought up b. After a. has been performed, if necessary, the device is finally brought up
via the 'online' interface. via the 'online' interface.
...@@ -145,7 +145,7 @@ Parameters: cdev - the device to be deactivated. The common layer has ...@@ -145,7 +145,7 @@ Parameters: cdev - the device to be deactivated. The common layer has
The handler field of the struct ccw_device is meant to be set to the interrupt The handler field of the struct ccw_device is meant to be set to the interrupt
handler for the device. In order to accomodate drivers which use several handler for the device. In order to accommodate drivers which use several
distinct handlers (e.g. multi subchannel devices), this is a member of ccw_device distinct handlers (e.g. multi subchannel devices), this is a member of ccw_device
instead of ccw_driver. instead of ccw_driver.
The handler is registered with the common layer during set_online() processing The handler is registered with the common layer during set_online() processing
......
...@@ -247,7 +247,7 @@ Wed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr) ...@@ -247,7 +247,7 @@ Wed Oct 21 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
- Add the 53c876 description to the chip table. This is only useful - Add the 53c876 description to the chip table. This is only useful
for printing the right name of the controller. for printing the right name of the controller.
- DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15). - DEL-441 Item 2 work-around for the 53c876 rev <= 5 (0x15).
- Add additionnal checking of INQUIRY data: - Add additional checking of INQUIRY data:
Check INQUIRY data received length is at least 7. Byte 7 of Check INQUIRY data received length is at least 7. Byte 7 of
inquiry data contains device features bits and the driver might inquiry data contains device features bits and the driver might
be confused by garbage. Also check peripheral qualifier. be confused by garbage. Also check peripheral qualifier.
...@@ -420,7 +420,7 @@ Sat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr) ...@@ -420,7 +420,7 @@ Sat Apr 4 20:00 1998 Gerard Roudier (groudier@club-internet.fr)
- Split DATA_IN and DATA_OUT scripts into 2 sub-scripts. - Split DATA_IN and DATA_OUT scripts into 2 sub-scripts.
64 segments are moved from on-chip RAM scripts. 64 segments are moved from on-chip RAM scripts.
If more segments, a script in main memory is used for the If more segments, a script in main memory is used for the
additionnal segments. additional segments.
- Since the SCRIPTS processor continues SCRIPTS execution after - Since the SCRIPTS processor continues SCRIPTS execution after
having won arbitration, do some stuff prior to testing any SCSI having won arbitration, do some stuff prior to testing any SCSI
phase on reselection. This should have the vertue to process phase on reselection. This should have the vertue to process
...@@ -475,7 +475,7 @@ Sun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr) ...@@ -475,7 +475,7 @@ Sun Jan 11 22:00 1998 Gerard Roudier (groudier@club-internet.fr)
------------------------------ ------------------------------
- Use FAST-5 instead of SLOW for slow scsi devices according to - Use FAST-5 instead of SLOW for slow scsi devices according to
new SPI-2 draft. new SPI-2 draft.
- Make some changes in order to accomodate with 875 rev <= 3 - Make some changes in order to accommodate with 875 rev <= 3
device errata listing 397. Minor consequences are: device errata listing 397. Minor consequences are:
. Leave use of PCI Write and Invalidate under user control. . Leave use of PCI Write and Invalidate under user control.
Now, by default the driver does not enable PCI MWI and option Now, by default the driver does not enable PCI MWI and option
......
...@@ -15,7 +15,7 @@ Sat Apr 7 19:30 2001 Gerard Roudier (groudier@club-internet.fr) ...@@ -15,7 +15,7 @@ Sat Apr 7 19:30 2001 Gerard Roudier (groudier@club-internet.fr)
- In ncr_soft_reset(), only try to ABORT the current operation - In ncr_soft_reset(), only try to ABORT the current operation
for chips that support SRUN bit in ISTAT1 and if SCRIPTS are for chips that support SRUN bit in ISTAT1 and if SCRIPTS are
currently running, as 896 and 1010 manuals suggest. currently running, as 896 and 1010 manuals suggest.
- In the CCB abort path, donnot assume that the CCB is currently - In the CCB abort path, do not assume that the CCB is currently
queued to SCRIPTS. This is not always true, notably after a queued to SCRIPTS. This is not always true, notably after a
QUEUE FULL status or when using untagged commands. QUEUE FULL status or when using untagged commands.
...@@ -562,7 +562,7 @@ Tue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr) ...@@ -562,7 +562,7 @@ Tue Oct 20 22H00 1998 Gerard Roudier (groudier@club-internet.fr)
* version pre-sym53c8xx-0.10 * version pre-sym53c8xx-0.10
- Add the 53c876 description to the chip table. This is only useful - Add the 53c876 description to the chip table. This is only useful
for printing the right name of the controller. for printing the right name of the controller.
- Add additionnal checking of INQUIRY data: - Add additional checking of INQUIRY data:
Check INQUIRY data received length is at least 7. Byte 7 of Check INQUIRY data received length is at least 7. Byte 7 of
inquiry data contains device features bits and the driver might inquiry data contains device features bits and the driver might
be confused by garbage. Also check peripheral qualifier. be confused by garbage. Also check peripheral qualifier.
......
...@@ -32,7 +32,7 @@ Wed Jan 24 21:00 2001 Gerard Roudier ...@@ -32,7 +32,7 @@ Wed Jan 24 21:00 2001 Gerard Roudier
missing free of this memory on instance detach. missing free of this memory on instance detach.
- Check against GPIO3 pulled low for HVD controllers (driver did - Check against GPIO3 pulled low for HVD controllers (driver did
just the opposite). just the opposite).
Misdetection of BUS mode was triggerred on module reload only, Misdetection of BUS mode was triggered on module reload only,
since BIOS settings were trusted instead on first load. since BIOS settings were trusted instead on first load.
Wed Feb 7 21:00 2001 Gerard Roudier Wed Feb 7 21:00 2001 Gerard Roudier
...@@ -71,7 +71,7 @@ Tues Apr 10 21:00 2001 Gerard Roudier ...@@ -71,7 +71,7 @@ Tues Apr 10 21:00 2001 Gerard Roudier
#LUN <= 7. #LUN <= 7.
- Set busy_itl in LCB to 1 if the LCB is allocated and a - Set busy_itl in LCB to 1 if the LCB is allocated and a
SCSI command is active. This is a simplification. SCSI command is active. This is a simplification.
- In sym_hcb_free(), donnot scan the free_ccbq if no CCBs - In sym_hcb_free(), do not scan the free_ccbq if no CCBs
has been allocated. This fixes a panic if attach failed. has been allocated. This fixes a panic if attach failed.
- Add DT/ST (double/simple transition) in the transfer - Add DT/ST (double/simple transition) in the transfer
negotiation announce. negotiation announce.
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
* to the board. * to the board.
* *
* The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the * The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
* interface files for Adaptecs managment routines. These define the structures used * interface files for Adaptec's management routines. These define the structures used
* in the ioctls. They are written to be portable. They are hard to read, but I need * in the ioctls. They are written to be portable. They are hard to read, but I need
* to use them 'as is' or I can miss changes in the interface. * to use them 'as is' or I can miss changes in the interface.
* *
......
...@@ -810,9 +810,9 @@ ...@@ -810,9 +810,9 @@
commandline parameter is added, called 'activity'. commandline parameter is added, called 'activity'.
2) Added the READ_CONTROL bit for test_unit_ready SCSI-command. 2) Added the READ_CONTROL bit for test_unit_ready SCSI-command.
3) Added some suppress_exception bits to read_device_capacity and 3) Added some suppress_exception bits to read_device_capacity and
all device_inquiry occurences in the driver code. all device_inquiry occurrences in the driver code.
4) Complaints about the various KERNEL_VERSION implementations are 4) Complaints about the various KERNEL_VERSION implementations are
taken into account. Every local_LinuxKernelVersion occurence is taken into account. Every local_LinuxKernelVersion occurrence is
now replaced by KERNEL_VERSION, defined in linux/version.h. now replaced by KERNEL_VERSION, defined in linux/version.h.
Corresponding changes were applied to ibmmca.h, too. This was a Corresponding changes were applied to ibmmca.h, too. This was a
contribution to all kernel-parts by Philipp Hahn. contribution to all kernel-parts by Philipp Hahn.
...@@ -866,7 +866,7 @@ ...@@ -866,7 +866,7 @@
2) Adapter-information and autoadaption to address-space is done. 2) Adapter-information and autoadaption to address-space is done.
3) Auto-probing for maximum synchronous SCSI transfer rate is working. 3) Auto-probing for maximum synchronous SCSI transfer rate is working.
4) Optimization to some embedded function calls is applied. 4) Optimization to some embedded function calls is applied.
5) Added some comment for the user to wait for SCSI-devices beeing probed. 5) Added some comment for the user to wait for SCSI-devices being probed.
6) Finished version 3.2 for Kernel 2.4.0. It least, I thought it is but... 6) Finished version 3.2 for Kernel 2.4.0. It least, I thought it is but...
- Michael Lang - Michael Lang
...@@ -966,7 +966,7 @@ ...@@ -966,7 +966,7 @@
------DA ------DA
where '-' stays dark, 'D' shows the SCSI-device id where '-' stays dark, 'D' shows the SCSI-device id
and 'A' shows the SCSI hostindex, beeing currently and 'A' shows the SCSI hostindex, being currently
accessed. During boottime, this will give the message accessed. During boottime, this will give the message
SCSIini* SCSIini*
...@@ -1091,7 +1091,7 @@ ...@@ -1091,7 +1091,7 @@
now. Normally you really won't need to activate this flag in the now. Normally you really won't need to activate this flag in the
kernel configuration, as all post 1989 SCSI-devices should accept kernel configuration, as all post 1989 SCSI-devices should accept
the reset-signal, when the computer is switched on. The SCSI- the reset-signal, when the computer is switched on. The SCSI-
subsystem generates this reset while beeing initialized. This flag subsystem generates this reset while being initialized. This flag
is really reserved for users with very old, very strange or self-made is really reserved for users with very old, very strange or self-made
SCSI-devices. SCSI-devices.
Q: Why is the SCSI-order of my drives mirrored to the device-order Q: Why is the SCSI-order of my drives mirrored to the device-order
......
...@@ -238,7 +238,7 @@ Queuing more than 1 command at a time to a device allows it to perform ...@@ -238,7 +238,7 @@ Queuing more than 1 command at a time to a device allows it to perform
optimizations based on actual head positions and its mechanical optimizations based on actual head positions and its mechanical
characteristics. This feature may also reduce average command latency. characteristics. This feature may also reduce average command latency.
In order to really gain advantage of this feature, devices must have In order to really gain advantage of this feature, devices must have
a reasonnable cache size (No miracle is to be expected for a low-end a reasonable cache size (No miracle is to be expected for a low-end
hard disk with 128 KB or less). hard disk with 128 KB or less).
Some kown SCSI devices do not properly support tagged command queuing. Some kown SCSI devices do not properly support tagged command queuing.
Generally, firmware revisions that fix this kind of problems are available Generally, firmware revisions that fix this kind of problems are available
...@@ -592,7 +592,7 @@ CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO (default answer: n) ...@@ -592,7 +592,7 @@ CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO (default answer: n)
Some SCSI-2 devices do not report this feature in byte 7 of inquiry Some SCSI-2 devices do not report this feature in byte 7 of inquiry
response but do support it properly (TAMARACK scanners for example). response but do support it properly (TAMARACK scanners for example).
CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT (default and only reasonnable answer: n) CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT (default and only reasonable answer: n)
If you suspect a device of yours does not properly support disconnections, If you suspect a device of yours does not properly support disconnections,
you can answer "y". Then, all SCSI devices will never disconnect the bus you can answer "y". Then, all SCSI devices will never disconnect the bus
even while performing long SCSI operations. even while performing long SCSI operations.
...@@ -827,7 +827,7 @@ port address 0x1400. ...@@ -827,7 +827,7 @@ port address 0x1400.
Available option bits: Available option bits:
0x0: No check. 0x0: No check.
0x1: Check and donnot attach the controller on error. 0x1: Check and do not attach the controller on error.
0x2: Check and just warn on error. 0x2: Check and just warn on error.
0x4: Disable SCSI bus integrity checking. 0x4: Disable SCSI bus integrity checking.
...@@ -850,7 +850,7 @@ port address 0x1400. ...@@ -850,7 +850,7 @@ port address 0x1400.
10.2.22 Enable use of IMMEDIATE ARBITRATION 10.2.22 Enable use of IMMEDIATE ARBITRATION
(only supported by the sym53c8xx driver. See 10.7 for more details) (only supported by the sym53c8xx driver. See 10.7 for more details)
iarb:0 donnot use this feature. iarb:0 do not use this feature.
iarb:#x use this feature according to bit fields as follow: iarb:#x use this feature according to bit fields as follow:
bit 0 (1) : enable IARB each time the initiator has been reselected bit 0 (1) : enable IARB each time the initiator has been reselected
...@@ -880,7 +880,7 @@ Boot fail safe ...@@ -880,7 +880,7 @@ Boot fail safe
settle time 10 seconds settle:10 settle time 10 seconds settle:10
differential support from BIOS settings diff:1 differential support from BIOS settings diff:1
irq mode from BIOS settings irqm:1 irq mode from BIOS settings irqm:1
SCSI BUS check donnot attach on error buschk:1 SCSI BUS check do not attach on error buschk:1
immediate arbitration disabled iarb:0 immediate arbitration disabled iarb:0
10.3 Advised boot setup commands 10.3 Advised boot setup commands
...@@ -1272,7 +1272,7 @@ following things: ...@@ -1272,7 +1272,7 @@ following things:
- terminations at both end of the SCSI chain - terminations at both end of the SCSI chain
- linux syslog messages (some of them may help you) - linux syslog messages (some of them may help you)
If you donnot find the source of problems, you can configure the If you do not find the source of problems, you can configure the
driver with no features enabled. driver with no features enabled.
- only asynchronous data transfers - only asynchronous data transfers
...@@ -1345,14 +1345,14 @@ Field B : DSTAT io register (DMA STATUS) ...@@ -1345,14 +1345,14 @@ Field B : DSTAT io register (DMA STATUS)
Field C : SIST io register (SCSI Interrupt Status) Field C : SIST io register (SCSI Interrupt Status)
Bit 0x08 : SGE SCSI GROSS ERROR Bit 0x08 : SGE SCSI GROSS ERROR
Indicates that the chip detected a severe error condition Indicates that the chip detected a severe error condition
on the SCSI BUS that prevents the SCSI protocol from functionning on the SCSI BUS that prevents the SCSI protocol from functioning
properly. properly.
Bit 0x04 : UDC Undexpected Disconnection Bit 0x04 : UDC Unexpected Disconnection
Indicates that the device released the SCSI BUS when the chip Indicates that the device released the SCSI BUS when the chip
was not expecting this to happen. A device may behave so to was not expecting this to happen. A device may behave so to
indicate the SCSI initiator that an error condition not reportable using the SCSI protocol has occurred. indicate the SCSI initiator that an error condition not reportable using the SCSI protocol has occurred.
Bit 0x02 : RST SCSI BUS Reset Bit 0x02 : RST SCSI BUS Reset
Generally SCSI targets donnot reset the SCSI BUS, although any Generally SCSI targets do not reset the SCSI BUS, although any
device on the BUS can reset it at any time. device on the BUS can reset it at any time.
Bit 0x01 : PAR Parity Bit 0x01 : PAR Parity
SCSI parity error detected. SCSI parity error detected.
......
...@@ -205,7 +205,7 @@ Queuing more than 1 command at a time to a device allows it to perform ...@@ -205,7 +205,7 @@ Queuing more than 1 command at a time to a device allows it to perform
optimizations based on actual head positions and its mechanical optimizations based on actual head positions and its mechanical
characteristics. This feature may also reduce average command latency. characteristics. This feature may also reduce average command latency.
In order to really gain advantage of this feature, devices must have In order to really gain advantage of this feature, devices must have
a reasonnable cache size (No miracle is to be expected for a low-end a reasonable cache size (No miracle is to be expected for a low-end
hard disk with 128 KB or less). hard disk with 128 KB or less).
Some kown old SCSI devices do not properly support tagged command queuing. Some kown old SCSI devices do not properly support tagged command queuing.
Generally, firmware revisions that fix this kind of problems are available Generally, firmware revisions that fix this kind of problems are available
...@@ -579,7 +579,7 @@ characters and digits are allowed. ...@@ -579,7 +579,7 @@ characters and digits are allowed.
Available option bits: Available option bits:
0x0: No check. 0x0: No check.
0x1: Check and donnot attach the controller on error. 0x1: Check and do not attach the controller on error.
0x2: Check and just warn on error. 0x2: Check and just warn on error.
10.2.16 Exclude a host from being attached 10.2.16 Exclude a host from being attached
...@@ -698,7 +698,7 @@ following things: ...@@ -698,7 +698,7 @@ following things:
- terminations at both end of the SCSI chain - terminations at both end of the SCSI chain
- linux syslog messages (some of them may help you) - linux syslog messages (some of them may help you)
If you donnot find the source of problems, you can configure the If you do not find the source of problems, you can configure the
driver or devices in the NVRAM with minimal features. driver or devices in the NVRAM with minimal features.
- only asynchronous data transfers - only asynchronous data transfers
...@@ -756,14 +756,14 @@ Field B : DSTAT io register (DMA STATUS) ...@@ -756,14 +756,14 @@ Field B : DSTAT io register (DMA STATUS)
Field C : SIST io register (SCSI Interrupt Status) Field C : SIST io register (SCSI Interrupt Status)
Bit 0x08 : SGE SCSI GROSS ERROR Bit 0x08 : SGE SCSI GROSS ERROR
Indicates that the chip detected a severe error condition Indicates that the chip detected a severe error condition
on the SCSI BUS that prevents the SCSI protocol from functionning on the SCSI BUS that prevents the SCSI protocol from functioning
properly. properly.
Bit 0x04 : UDC Undexpected Disconnection Bit 0x04 : UDC Unexpected Disconnection
Indicates that the device released the SCSI BUS when the chip Indicates that the device released the SCSI BUS when the chip
was not expecting this to happen. A device may behave so to was not expecting this to happen. A device may behave so to
indicate the SCSI initiator that an error condition not reportable using the SCSI protocol has occured. indicate the SCSI initiator that an error condition not reportable using the SCSI protocol has occurred.
Bit 0x02 : RST SCSI BUS Reset Bit 0x02 : RST SCSI BUS Reset
Generally SCSI targets donnot reset the SCSI BUS, although any Generally SCSI targets do not reset the SCSI BUS, although any
device on the BUS can reset it at any time. device on the BUS can reset it at any time.
Bit 0x01 : PAR Parity Bit 0x01 : PAR Parity
SCSI parity error detected. SCSI parity error detected.
......
...@@ -130,7 +130,7 @@ Bugs: ...@@ -130,7 +130,7 @@ Bugs:
tested) when using the driver with the fnkeyinit parameter. I cannot tested) when using the driver with the fnkeyinit parameter. I cannot
reproduce it on my laptop and not all users have this problem. reproduce it on my laptop and not all users have this problem.
This happens because the fnkeyinit parameter enables the ACPI This happens because the fnkeyinit parameter enables the ACPI
mode (but without additionnal ACPI control, like processor mode (but without additional ACPI control, like processor
speed handling etc). Use ACPI instead of APM if it works on your speed handling etc). Use ACPI instead of APM if it works on your
laptop. laptop.
......
...@@ -659,7 +659,7 @@ Module parameters ...@@ -659,7 +659,7 @@ Module parameters
Module supports autoprobe and multiple chips (max 8). Module supports autoprobe and multiple chips (max 8).
Note: on some notebooks the buffer address cannot be detected Note: on some notebooks the buffer address cannot be detected
automatically, or causes hang-up during initialization. automatically, or causes hang-up during initialization.
In such a case, specify the buffer top address explicity via In such a case, specify the buffer top address explicitly via
buffer_top option. buffer_top option.
For example, For example,
Sony F250: buffer_top=0x25a800 Sony F250: buffer_top=0x25a800
......
...@@ -2807,7 +2807,7 @@ ...@@ -2807,7 +2807,7 @@
</para> </para>
<para> <para>
If you aquire a spinlock in the interrupt handler, and the If you acquire a spinlock in the interrupt handler, and the
lock is used in other pcm callbacks, too, then you have to lock is used in other pcm callbacks, too, then you have to
release the lock before calling release the lock before calling
<function>snd_pcm_period_elapsed()</function>, because <function>snd_pcm_period_elapsed()</function>, because
......
...@@ -19,7 +19,7 @@ and its driver(s) so I can try to get isapnp working for it. ...@@ -19,7 +19,7 @@ and its driver(s) so I can try to get isapnp working for it.
Before Linux 2.4 you had to specify the resources for sounddrivers Before Linux 2.4 you had to specify the resources for sounddrivers
statically linked into the kernel at compile time statically linked into the kernel at compile time
(in make config/menuconfig/xconfig). In Linux 2.4 the ressources are (in make config/menuconfig/xconfig). In Linux 2.4 the resources are
now specified at the boot-time kernel commandline (e.g. the lilo now specified at the boot-time kernel commandline (e.g. the lilo
'append=' line or everything that's after the kernel name in grub). 'append=' line or everything that's after the kernel name in grub).
Read the Configure.help entry for your card for the parameters. Read the Configure.help entry for your card for the parameters.
......
...@@ -22,12 +22,12 @@ pss_cdrom_port ...@@ -22,12 +22,12 @@ pss_cdrom_port
This parameter takes a port address as its parameter. Any available port This parameter takes a port address as its parameter. Any available port
address can be specified to enable the CDROM port, except for 0x0 and -1 as address can be specified to enable the CDROM port, except for 0x0 and -1 as
these values would leave the port disabled. Like the joystick port, the cdrom these values would leave the port disabled. Like the joystick port, the cdrom
port will require that an appropiate CDROM driver be loaded before you can make port will require that an appropriate CDROM driver be loaded before you can make
use of the newly enabled CDROM port. Like the joystick port option above, use of the newly enabled CDROM port. Like the joystick port option above,
remember to load the CDROM driver AFTER the pss sound driver. While it may remember to load the CDROM driver AFTER the pss sound driver. While it may
differ on some PSS sound cards, all the PSS sound cards that I have seen have a differ on some PSS sound cards, all the PSS sound cards that I have seen have a
builtin Wearnes CDROM port. If this is the case with your PSS sound card you builtin Wearnes CDROM port. If this is the case with your PSS sound card you
should load aztcd with the appropiate port option that matches the port you should load aztcd with the appropriate port option that matches the port you
assigned to the CDROM port when you loaded your pss sound driver. (ex. assigned to the CDROM port when you loaded your pss sound driver. (ex.
modprobe pss pss_cdrom_port=0x340 && modprobe aztcd aztcd=0x340) The default modprobe pss pss_cdrom_port=0x340 && modprobe aztcd aztcd=0x340) The default
setting of this parameter leaves the CDROM port disabled to maintain full setting of this parameter leaves the CDROM port disabled to maintain full
...@@ -44,7 +44,7 @@ just configure non-sound components. 0 configures all components, a non-0 ...@@ -44,7 +44,7 @@ just configure non-sound components. 0 configures all components, a non-0
value will only attept to configure the CDROM and joystick ports. This value will only attept to configure the CDROM and joystick ports. This
parameter can be used by a user who only wished to use the builtin joystick parameter can be used by a user who only wished to use the builtin joystick
and/or CDROM port(s) of his PSS sound card. If this driver is loaded with this and/or CDROM port(s) of his PSS sound card. If this driver is loaded with this
parameter and with the paramter below set to true then a user can safely unload parameter and with the parameter below set to true then a user can safely unload
this driver with the following command "rmmod pss && rmmod ad1848 && rmmod this driver with the following command "rmmod pss && rmmod ad1848 && rmmod
mpu401 && rmmod sound && rmmod soundcore" and retain the full functionality of mpu401 && rmmod sound && rmmod soundcore" and retain the full functionality of
his CDROM and/or joystick port(s) while gaining back the memory previously used his CDROM and/or joystick port(s) while gaining back the memory previously used
......
...@@ -78,7 +78,7 @@ additional printfs to be active. Comment out the following line in the ...@@ -78,7 +78,7 @@ additional printfs to be active. Comment out the following line in the
driver to disable compilation of the CS_DBGOUT print statements: driver to disable compilation of the CS_DBGOUT print statements:
#define CSDEBUG 1 #define CSDEBUG 1
Please see the defintions for cs_debuglevel and cs_debugmask for additional Please see the definitions for cs_debuglevel and cs_debugmask for additional
information on the debug levels and sections. information on the debug levels and sections.
There is also a csdbg executable to allow runtime manipulation of these There is also a csdbg executable to allow runtime manipulation of these
......
...@@ -326,7 +326,7 @@ it doesn't fit in your computer, bring back the card. ...@@ -326,7 +326,7 @@ it doesn't fit in your computer, bring back the card.
Fixed bugs and restrictions: Fixed bugs and restrictions:
- During intialization, interrupts are blindly turned on. - During initialization, interrupts are blindly turned on.
Having a shadow variable would cause an extra memory Having a shadow variable would cause an extra memory
access on every IO instruction. access on every IO instruction.
- The interrupt (on the card) should be disabled when we - The interrupt (on the card) should be disabled when we
......
...@@ -90,7 +90,7 @@ checks whether we have anything in our run queue tq_bdflush. Since we queued up ...@@ -90,7 +90,7 @@ checks whether we have anything in our run queue tq_bdflush. Since we queued up
function do_software_suspend, it is called. Here we shrink everything including function do_software_suspend, it is called. Here we shrink everything including
dcache, inodes, buffers and memory (here mainly processes are swapped out). We dcache, inodes, buffers and memory (here mainly processes are swapped out). We
count how many pages we need to duplicate (we have to be atomical!) then we count how many pages we need to duplicate (we have to be atomical!) then we
create an appropiate sized page directory. It will point to the original and create an appropriate sized page directory. It will point to the original and
the new (copied) address of the page. We get the free pages by the new (copied) address of the page. We get the free pages by
__get_free_pages() but since it changes state we have to be able to track it __get_free_pages() but since it changes state we have to be able to track it
later so it also flips in a bit in page's flags (a new Nosave flag). We later so it also flips in a bit in page's flags (a new Nosave flag). We
......
...@@ -2509,7 +2509,7 @@ ...@@ -2509,7 +2509,7 @@
1100..88.. ssttoopp 1100..88.. ssttoopp
This puts the UML in a loop reading mconsole requests until a 'go' This puts the UML in a loop reading mconsole requests until a 'go'
mconsole command is recieved. This is very useful for making backups mconsole command is received. This is very useful for making backups
of UML filesystems, as the UML can be stopped, then synced via 'sysrq of UML filesystems, as the UML can be stopped, then synced via 'sysrq
s', so that everything is written to the filesystem. You can then copy s', so that everything is written to the filesystem. You can then copy
the filesystem and then send the UML 'go' via mconsole. the filesystem and then send the UML 'go' via mconsole.
......
...@@ -86,7 +86,7 @@ URBs are allocated with the following call ...@@ -86,7 +86,7 @@ URBs are allocated with the following call
Return value is a pointer to the allocated URB, 0 if allocation failed. Return value is a pointer to the allocated URB, 0 if allocation failed.
The parameter isoframes specifies the number of isochronous transfer frames The parameter isoframes specifies the number of isochronous transfer frames
you want to schedule. For CTRL/BULK/INT, use 0. The mem_flags paramter you want to schedule. For CTRL/BULK/INT, use 0. The mem_flags parameter
holds standard memory allocation flags, letting you control (among other holds standard memory allocation flags, letting you control (among other
things) whether the underlying code may block or not. things) whether the underlying code may block or not.
......
...@@ -173,7 +173,7 @@ Returns the value of a usage in a hiddev_usage_ref structure. The ...@@ -173,7 +173,7 @@ Returns the value of a usage in a hiddev_usage_ref structure. The
usage to be retrieved can be specified as above, or the user can usage to be retrieved can be specified as above, or the user can
choose to fill in the report_type field and specify the report_id as choose to fill in the report_type field and specify the report_id as
HID_REPORT_ID_UNKNOWN. In this case, the hiddev_usage_ref will be HID_REPORT_ID_UNKNOWN. In this case, the hiddev_usage_ref will be
filled in with the report and field infomation associated with this filled in with the report and field information associated with this
usage if it is found. usage if it is found.
HIDIOCSUSAGE - struct hiddev_usage_ref (write) HIDIOCSUSAGE - struct hiddev_usage_ref (write)
......
...@@ -27,9 +27,9 @@ fps ...@@ -27,9 +27,9 @@ fps
Specifies the desired framerate. Is an integer in the range of 4-30. Specifies the desired framerate. Is an integer in the range of 4-30.
fbufs fbufs
This paramter specifies the number of internal buffers to use for storing This parameter specifies the number of internal buffers to use for storing
frames from the cam. This will help if the process that reads images from frames from the cam. This will help if the process that reads images from
the cam is a bit slow or momentarely busy. However, on slow machines it the cam is a bit slow or momentarily busy. However, on slow machines it
only introduces lag, so choose carefully. The default is 3, which is only introduces lag, so choose carefully. The default is 3, which is
reasonable. You can set it between 2 and 5. reasonable. You can set it between 2 and 5.
......
...@@ -282,7 +282,7 @@ main(void) { ...@@ -282,7 +282,7 @@ main(void) {
} }
if((fpout=fopen("out.dat", "w+")) == NULL) { if((fpout=fopen("out.dat", "w+")) == NULL) {
perror("Unable to open ouput file"); perror("Unable to open output file");
exit(1); exit(1);
} }
......
...@@ -15,18 +15,18 @@ log, telling which card type is used. Like this one: ...@@ -15,18 +15,18 @@ log, telling which card type is used. Like this one:
bttv0: model: BT848(Hauppauge old) [autodetected] bttv0: model: BT848(Hauppauge old) [autodetected]
You should verify this is correct. If it is'nt, you have to pass the You should verify this is correct. If it isn't, you have to pass the
correct board type as insmod argument, "insmod bttv card=2" for correct board type as insmod argument, "insmod bttv card=2" for
example. The file CARDLIST has a list of valid arguments for card. example. The file CARDLIST has a list of valid arguments for card.
If your card is'nt listed there, you might check the source code for If your card isn't listed there, you might check the source code for
new entries which are not listed yet. If there is'nt one for your new entries which are not listed yet. If there isn't one for your
card, you can check if one of the existing entries does work for you card, you can check if one of the existing entries does work for you
(just trial and error...). (just trial and error...).
Some boards have an extra processor for sound to do stereo decoding Some boards have an extra processor for sound to do stereo decoding
and other nice features. The msp34xx chips are used by Hauppauge for and other nice features. The msp34xx chips are used by Hauppauge for
example. If your board has one, you might have to load a helper example. If your board has one, you might have to load a helper
module like msp3400.o to make sound work. If there is'nt one for the module like msp3400.o to make sound work. If there isn't one for the
chip used on your board: Bad luck. Start writing a new one. Well, chip used on your board: Bad luck. Start writing a new one. Well,
you might want to check the video4linux mailing list archive first... you might want to check the video4linux mailing list archive first...
......
...@@ -146,10 +146,10 @@ found in the kernel, but it doesn't need it. ...@@ -146,10 +146,10 @@ found in the kernel, but it doesn't need it.
The consequence is that, when loading the driver as a module, The consequence is that, when loading the driver as a module,
the module may tell you it's out of memory, but 'free' says the module may tell you it's out of memory, but 'free' says
otherwise. The reason is simple; the modules wants its memory otherwise. The reason is simple; the modules wants its memory
contingious, not fragmented, and after a long uptime there contiguous, not fragmented, and after a long uptime there
probably isn't a fragment of memory large enough... probably isn't a fragment of memory large enough...
The driver uses a double buffering scheme, which should realy The driver uses a double buffering scheme, which should really
be an n-way buffer, depending on the size of allocated framebuffer be an n-way buffer, depending on the size of allocated framebuffer
and the requested grab-size/format. and the requested grab-size/format.
This current version also fixes a dead-lock situation during irq This current version also fixes a dead-lock situation during irq
......
...@@ -69,7 +69,7 @@ type hugetlbfs: ...@@ -69,7 +69,7 @@ type hugetlbfs:
mount none /mnt/huge -t hugetlbfs mount none /mnt/huge -t hugetlbfs
This commands mounts a (psuedo) filesystem of type hugetlbfs on the directory This command mounts a (pseudo) filesystem of type hugetlbfs on the directory
/mnt/huge. Any files created on /mnt/huge uses hugepages. An example is /mnt/huge. Any files created on /mnt/huge uses hugepages. An example is
given at the end of this document. given at the end of this document.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment