aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/Changes18
-rw-r--r--Documentation/DocBook/Makefile2
-rw-r--r--Documentation/DocBook/sis900.tmpl585
-rw-r--r--Documentation/connector/connector.txt5
-rw-r--r--Documentation/cpusets.txt41
-rw-r--r--Documentation/dvb/avermedia.txt10
-rw-r--r--Documentation/dvb/bt8xx.txt140
-rw-r--r--Documentation/dvb/get_dvb_firmware23
-rw-r--r--Documentation/dvb/readme.txt32
-rw-r--r--Documentation/feature-removal-schedule.txt25
-rw-r--r--Documentation/networking/00-INDEX2
-rw-r--r--Documentation/networking/README.ipw210012
-rw-r--r--Documentation/networking/README.ipw220044
-rw-r--r--Documentation/networking/ip-sysctl.txt49
-rw-r--r--Documentation/networking/sis900.txt257
-rw-r--r--Documentation/usb/et61x251.txt10
-rw-r--r--Documentation/usb/sn9c102.txt11
-rw-r--r--Documentation/usb/zc0301.txt254
-rw-r--r--Documentation/video4linux/CARDLIST.cx882
-rw-r--r--Documentation/video4linux/CARDLIST.em28xx1
-rw-r--r--Documentation/video4linux/CARDLIST.saa71349
-rw-r--r--Documentation/video4linux/CARDLIST.tuner6
-rw-r--r--Documentation/video4linux/README.cpia2130
-rw-r--r--Documentation/video4linux/cpia2_overview.txt38
-rw-r--r--Documentation/vm/page_migration118
25 files changed, 773 insertions, 1051 deletions
diff --git a/Documentation/Changes b/Documentation/Changes
index fe5ae0f55020..b02f476c2973 100644
--- a/Documentation/Changes
+++ b/Documentation/Changes
@@ -15,24 +15,6 @@ and therefore owes credit to the same people as that file (Jared Mauch,
15Axel Boldt, Alessandro Sigala, and countless other users all over the 15Axel Boldt, Alessandro Sigala, and countless other users all over the
16'net). 16'net).
17 17
18The latest revision of this document, in various formats, can always
19be found at <http://cyberbuzz.gatech.edu/kaboom/linux/Changes-2.4/>.
20
21Feel free to translate this document. If you do so, please send me a
22URL to your translation for inclusion in future revisions of this
23document.
24
25Smotrite file <http://oblom.rnc.ru/linux/kernel/Changes.ru>, yavlyaushisya
26russkim perevodom dannogo documenta.
27
28Visite <http://www2.adi.uam.es/~ender/tecnico/> para obtener la traducción
29al español de este documento en varios formatos.
30
31Eine deutsche Version dieser Datei finden Sie unter
32<http://www.stefan-winter.de/Changes-2.4.0.txt>.
33
34Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
35
36Current Minimal Requirements 18Current Minimal Requirements
37============================ 19============================
38 20
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 1c955883cf58..2975291e296a 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -9,7 +9,7 @@
9DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ 9DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \
10 kernel-hacking.xml kernel-locking.xml deviceiobook.xml \ 10 kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
11 procfs-guide.xml writing_usb_driver.xml \ 11 procfs-guide.xml writing_usb_driver.xml \
12 sis900.xml kernel-api.xml journal-api.xml lsm.xml usb.xml \ 12 kernel-api.xml journal-api.xml lsm.xml usb.xml \
13 gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml 13 gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml
14 14
15### 15###
diff --git a/Documentation/DocBook/sis900.tmpl b/Documentation/DocBook/sis900.tmpl
deleted file mode 100644
index 6c2cbac93c3f..000000000000
--- a/Documentation/DocBook/sis900.tmpl
+++ /dev/null
@@ -1,585 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
4
5<book id="SiS900Guide">
6
7<bookinfo>
8
9<title>SiS 900/7016 Fast Ethernet Device Driver</title>
10
11<authorgroup>
12<author>
13<firstname>Ollie</firstname>
14<surname>Lho</surname>
15</author>
16
17<author>
18<firstname>Lei Chun</firstname>
19<surname>Chang</surname>
20</author>
21</authorgroup>
22
23<edition>Document Revision: 0.3 for SiS900 driver v1.06 &amp; v1.07</edition>
24<pubdate>November 16, 2000</pubdate>
25
26<copyright>
27 <year>1999</year>
28 <holder>Silicon Integrated System Corp.</holder>
29</copyright>
30
31<legalnotice>
32 <para>
33 This program is free software; you can redistribute it and/or modify
34 it under the terms of the GNU General Public License as published by
35 the Free Software Foundation; either version 2 of the License, or
36 (at your option) any later version.
37 </para>
38
39 <para>
40 This program is distributed in the hope that it will be useful,
41 but WITHOUT ANY WARRANTY; without even the implied warranty of
42 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
43 GNU General Public License for more details.
44 </para>
45
46 <para>
47 You should have received a copy of the GNU General Public License
48 along with this program; if not, write to the Free Software
49 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
50 </para>
51</legalnotice>
52
53<abstract>
54<para>
55This document gives some information on installation and usage of SiS 900/7016
56device driver under Linux.
57</para>
58</abstract>
59
60</bookinfo>
61
62<toc></toc>
63
64<chapter id="intro">
65 <title>Introduction</title>
66
67<para>
68This document describes the revision 1.06 and 1.07 of SiS 900/7016 Fast Ethernet
69device driver under Linux. The driver is developed by Silicon Integrated
70System Corp. and distributed freely under the GNU General Public License (GPL).
71The driver can be compiled as a loadable module and used under Linux kernel
72version 2.2.x. (rev. 1.06)
73With minimal changes, the driver can also be used under 2.3.x and 2.4.x kernel
74(rev. 1.07), please see
75<xref linkend="install"/>. If you are intended to
76use the driver for earlier kernels, you are on your own.
77</para>
78
79<para>
80The driver is tested with usual TCP/IP applications including
81FTP, Telnet, Netscape etc. and is used constantly by the developers.
82</para>
83
84<para>
85Please send all comments/fixes/questions to
86<ulink url="mailto:lcchang@sis.com.tw">Lei-Chun Chang</ulink>.
87</para>
88</chapter>
89
90<chapter id="changes">
91 <title>Changes</title>
92
93<para>
94Changes made in Revision 1.07
95
96<orderedlist>
97<listitem>
98<para>
99Separation of sis900.c and sis900.h in order to move most
100constant definition to sis900.h (many of those constants were
101corrected)
102</para>
103</listitem>
104
105<listitem>
106<para>
107Clean up PCI detection, the pci-scan from Donald Becker were not used,
108just simple pci&lowbar;find&lowbar;*.
109</para>
110</listitem>
111
112<listitem>
113<para>
114MII detection is modified to support multiple mii transceiver.
115</para>
116</listitem>
117
118<listitem>
119<para>
120Bugs in read&lowbar;eeprom, mdio&lowbar;* were removed.
121</para>
122</listitem>
123
124<listitem>
125<para>
126Lot of sis900 irrelevant comments were removed/changed and
127more comments were added to reflect the real situation.
128</para>
129</listitem>
130
131<listitem>
132<para>
133Clean up of physical/virtual address space mess in buffer
134descriptors.
135</para>
136</listitem>
137
138<listitem>
139<para>
140Better transmit/receive error handling.
141</para>
142</listitem>
143
144<listitem>
145<para>
146The driver now uses zero-copy single buffer management
147scheme to improve performance.
148</para>
149</listitem>
150
151<listitem>
152<para>
153Names of variables were changed to be more consistent.
154</para>
155</listitem>
156
157<listitem>
158<para>
159Clean up of auo-negotiation and timer code.
160</para>
161</listitem>
162
163<listitem>
164<para>
165Automatic detection and change of PHY on the fly.
166</para>
167</listitem>
168
169<listitem>
170<para>
171Bug in mac probing fixed.
172</para>
173</listitem>
174
175<listitem>
176<para>
177Fix 630E equalier problem by modifying the equalizer workaround rule.
178</para>
179</listitem>
180
181<listitem>
182<para>
183Support for ICS1893 10/100 Interated PHYceiver.
184</para>
185</listitem>
186
187<listitem>
188<para>
189Support for media select by ifconfig.
190</para>
191</listitem>
192
193<listitem>
194<para>
195Added kernel-doc extratable documentation.
196</para>
197</listitem>
198
199</orderedlist>
200</para>
201</chapter>
202
203<chapter id="tested">
204 <title>Tested Environment</title>
205
206<para>
207This driver is developed on the following hardware
208
209<itemizedlist>
210<listitem>
211
212<para>
213Intel Celeron 500 with SiS 630 (rev 02) chipset
214</para>
215</listitem>
216<listitem>
217
218<para>
219SiS 900 (rev 01) and SiS 7016/7014 Fast Ethernet Card
220</para>
221</listitem>
222
223</itemizedlist>
224
225and tested with these software environments
226
227<itemizedlist>
228<listitem>
229
230<para>
231Red Hat Linux version 6.2
232</para>
233</listitem>
234<listitem>
235
236<para>
237Linux kernel version 2.4.0
238</para>
239</listitem>
240<listitem>
241
242<para>
243Netscape version 4.6
244</para>
245</listitem>
246<listitem>
247
248<para>
249NcFTP 3.0.0 beta 18
250</para>
251</listitem>
252<listitem>
253
254<para>
255Samba version 2.0.3
256</para>
257</listitem>
258
259</itemizedlist>
260
261</para>
262
263</chapter>
264
265<chapter id="files">
266<title>Files in This Package</title>
267
268<para>
269In the package you can find these files:
270</para>
271
272<para>
273<variablelist>
274
275<varlistentry>
276<term>sis900.c</term>
277<listitem>
278<para>
279Driver source file in C
280</para>
281</listitem>
282</varlistentry>
283
284<varlistentry>
285<term>sis900.h</term>
286<listitem>
287<para>
288Header file for sis900.c
289</para>
290</listitem>
291</varlistentry>
292
293<varlistentry>
294<term>sis900.sgml</term>
295<listitem>
296<para>
297DocBook SGML source of the document
298</para>
299</listitem>
300</varlistentry>
301
302<varlistentry>
303<term>sis900.txt</term>
304<listitem>
305<para>
306Driver document in plain text
307</para>
308</listitem>
309</varlistentry>
310
311</variablelist>
312</para>
313</chapter>
314
315<chapter id="install">
316 <title>Installation</title>
317
318<para>
319Silicon Integrated System Corp. is cooperating closely with core Linux Kernel
320developers. The revisions of SiS 900 driver are distributed by the usuall channels
321for kernel tar files and patches. Those kernel tar files for official kernel and
322patches for kernel pre-release can be download at
323<ulink url="http://ftp.kernel.org/pub/linux/kernel/">official kernel ftp site</ulink>
324and its mirrors.
325The 1.06 revision can be found in kernel version later than 2.3.15 and pre-2.2.14,
326and 1.07 revision can be found in kernel version 2.4.0.
327If you have no prior experience in networking under Linux, please read
328<ulink url="http://www.tldp.org/">Ethernet HOWTO</ulink> and
329<ulink url="http://www.tldp.org/">Networking HOWTO</ulink> available from
330Linux Documentation Project (LDP).
331</para>
332
333<para>
334The driver is bundled in release later than 2.2.11 and 2.3.15 so this
335is the most easy case.
336Be sure you have the appropriate packages for compiling kernel source.
337Those packages are listed in Document/Changes in kernel source
338distribution. If you have to install the driver other than those bundled
339in kernel release, you should have your driver file
340<filename>sis900.c</filename> and <filename>sis900.h</filename>
341copied into <filename class="directory">/usr/src/linux/drivers/net/</filename> first.
342There are two alternative ways to install the driver
343</para>
344
345<sect1>
346<title>Building the driver as loadable module</title>
347
348<para>
349To build the driver as a loadable kernel module you have to reconfigure
350the kernel to activate network support by
351</para>
352
353<para><screen>
354make menuconfig
355</screen></para>
356
357<para>
358Choose <quote>Loadable module support ---></quote>,
359then select <quote>Enable loadable module support</quote>.
360</para>
361
362<para>
363Choose <quote>Network Device Support ---></quote>, select
364<quote>Ethernet (10 or 100Mbit)</quote>.
365Then select <quote>EISA, VLB, PCI and on board controllers</quote>,
366and choose <quote>SiS 900/7016 PCI Fast Ethernet Adapter support</quote>
367to <quote>M</quote>.
368</para>
369
370<para>
371After reconfiguring the kernel, you can make the driver module by
372</para>
373
374<para><screen>
375make modules
376</screen></para>
377
378<para>
379The driver should be compiled with no errors. After compiling the driver,
380the driver can be installed to proper place by
381</para>
382
383<para><screen>
384make modules_install
385</screen></para>
386
387<para>
388Load the driver into kernel by
389</para>
390
391<para><screen>
392insmod sis900
393</screen></para>
394
395<para>
396When loading the driver into memory, some information message can be view by
397</para>
398
399<para>
400<screen>
401dmesg
402</screen>
403
404or
405
406<screen>
407cat /var/log/message
408</screen>
409</para>
410
411<para>
412If the driver is loaded properly you will have messages similar to this:
413</para>
414
415<para><screen>
416sis900.c: v1.07.06 11/07/2000
417eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 10, 00:00:e8:83:7f:a4.
418eth0: SiS 900 Internal MII PHY transceiver found at address 1.
419eth0: Using SiS 900 Internal MII PHY as default
420</screen></para>
421
422<para>
423showing the version of the driver and the results of probing routine.
424</para>
425
426<para>
427Once the driver is loaded, network can be brought up by
428</para>
429
430<para><screen>
431/sbin/ifconfig eth0 IPADDR broadcast BROADCAST netmask NETMASK media TYPE
432</screen></para>
433
434<para>
435where IPADDR, BROADCAST, NETMASK are your IP address, broadcast address and
436netmask respectively. TYPE is used to set medium type used by the device.
437Typical values are "10baseT"(twisted-pair 10Mbps Ethernet) or "100baseT"
438(twisted-pair 100Mbps Ethernet). For more information on how to configure
439network interface, please refer to
440<ulink url="http://www.tldp.org/">Networking HOWTO</ulink>.
441</para>
442
443<para>
444The link status is also shown by kernel messages. For example, after the
445network interface is activated, you may have the message:
446</para>
447
448<para><screen>
449eth0: Media Link On 100mbps full-duplex
450</screen></para>
451
452<para>
453If you try to unplug the twist pair (TP) cable you will get
454</para>
455
456<para><screen>
457eth0: Media Link Off
458</screen></para>
459
460<para>
461indicating that the link is failed.
462</para>
463</sect1>
464
465<sect1>
466<title>Building the driver into kernel</title>
467
468<para>
469If you want to make the driver into kernel, choose <quote>Y</quote>
470rather than <quote>M</quote> on
471<quote>SiS 900/7016 PCI Fast Ethernet Adapter support</quote>
472when configuring the kernel. Build the kernel image in the usual way
473</para>
474
475<para><screen>
476make clean
477
478make bzlilo
479</screen></para>
480
481<para>
482Next time the system reboot, you have the driver in memory.
483</para>
484
485</sect1>
486</chapter>
487
488<chapter id="problems">
489 <title>Known Problems and Bugs</title>
490
491<para>
492There are some known problems and bugs. If you find any other bugs please
493mail to <ulink url="mailto:lcchang@sis.com.tw">lcchang@sis.com.tw</ulink>
494
495<orderedlist>
496
497<listitem>
498<para>
499AM79C901 HomePNA PHY is not thoroughly tested, there may be some
500bugs in the <quote>on the fly</quote> change of transceiver.
501</para>
502</listitem>
503
504<listitem>
505<para>
506A bug is hidden somewhere in the receive buffer management code,
507the bug causes NULL pointer reference in the kernel. This fault is
508caught before bad things happen and reported with the message:
509
510<computeroutput>
511eth0: NULL pointer encountered in Rx ring, skipping
512</computeroutput>
513
514which can be viewed with <literal remap="tt">dmesg</literal> or
515<literal remap="tt">cat /var/log/message</literal>.
516</para>
517</listitem>
518
519<listitem>
520<para>
521The media type change from 10Mbps to 100Mbps twisted-pair ethernet
522by ifconfig causes the media link down.
523</para>
524</listitem>
525
526</orderedlist>
527</para>
528</chapter>
529
530<chapter id="RHistory">
531 <title>Revision History</title>
532
533<para>
534<itemizedlist>
535
536<listitem>
537<para>
538November 13, 2000, Revision 1.07, seventh release, 630E problem fixed
539and further clean up.
540</para>
541</listitem>
542
543<listitem>
544<para>
545November 4, 1999, Revision 1.06, Second release, lots of clean up
546and optimization.
547</para>
548</listitem>
549
550<listitem>
551<para>
552August 8, 1999, Revision 1.05, Initial Public Release
553</para>
554</listitem>
555
556</itemizedlist>
557</para>
558</chapter>
559
560<chapter id="acknowledgements">
561 <title>Acknowledgements</title>
562
563<para>
564This driver was originally derived form
565<ulink url="mailto:becker@cesdis1.gsfc.nasa.gov">Donald Becker</ulink>'s
566<ulink url="ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/kern-2.3/pci-skeleton.c"
567>pci-skeleton</ulink> and
568<ulink url="ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/kern-2.3/rtl8139.c"
569>rtl8139</ulink> drivers. Donald also provided various suggestion
570regarded with improvements made in revision 1.06.
571</para>
572
573<para>
574The 1.05 revision was created by
575<ulink url="mailto:cmhuang@sis.com.tw">Jim Huang</ulink>, AMD 79c901
576support was added by <ulink url="mailto:lcs@sis.com.tw">Chin-Shan Li</ulink>.
577</para>
578</chapter>
579
580<chapter id="functions">
581<title>List of Functions</title>
582!Idrivers/net/sis900.c
583</chapter>
584
585</book>
diff --git a/Documentation/connector/connector.txt b/Documentation/connector/connector.txt
index 57a314b14cf8..ad6e0ba7b38c 100644
--- a/Documentation/connector/connector.txt
+++ b/Documentation/connector/connector.txt
@@ -69,10 +69,11 @@ Unregisters new callback with connector core.
69 69
70struct cb_id *id - unique connector's user identifier. 70struct cb_id *id - unique connector's user identifier.
71 71
72void cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask); 72int cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);
73 73
74Sends message to the specified groups. It can be safely called from 74Sends message to the specified groups. It can be safely called from
75any context, but may silently fail under strong memory pressure. 75softirq context, but may silently fail under strong memory pressure.
76If there are no listeners for given group -ESRCH can be returned.
76 77
77struct cn_msg * - message header(with attached data). 78struct cn_msg * - message header(with attached data).
78u32 __group - destination group. 79u32 __group - destination group.
diff --git a/Documentation/cpusets.txt b/Documentation/cpusets.txt
index 990998ee10b6..30c41459953c 100644
--- a/Documentation/cpusets.txt
+++ b/Documentation/cpusets.txt
@@ -4,8 +4,9 @@
4Copyright (C) 2004 BULL SA. 4Copyright (C) 2004 BULL SA.
5Written by Simon.Derr@bull.net 5Written by Simon.Derr@bull.net
6 6
7Portions Copyright (c) 2004 Silicon Graphics, Inc. 7Portions Copyright (c) 2004-2006 Silicon Graphics, Inc.
8Modified by Paul Jackson <pj@sgi.com> 8Modified by Paul Jackson <pj@sgi.com>
9Modified by Christoph Lameter <clameter@sgi.com>
9 10
10CONTENTS: 11CONTENTS:
11========= 12=========
@@ -90,7 +91,8 @@ This can be especially valuable on:
90 91
91These subsets, or "soft partitions" must be able to be dynamically 92These subsets, or "soft partitions" must be able to be dynamically
92adjusted, as the job mix changes, without impacting other concurrently 93adjusted, as the job mix changes, without impacting other concurrently
93executing jobs. 94executing jobs. The location of the running jobs pages may also be moved
95when the memory locations are changed.
94 96
95The kernel cpuset patch provides the minimum essential kernel 97The kernel cpuset patch provides the minimum essential kernel
96mechanisms required to efficiently implement such subsets. It 98mechanisms required to efficiently implement such subsets. It
@@ -102,8 +104,8 @@ memory allocator code.
1021.3 How are cpusets implemented ? 1041.3 How are cpusets implemented ?
103--------------------------------- 105---------------------------------
104 106
105Cpusets provide a Linux kernel (2.6.7 and above) mechanism to constrain 107Cpusets provide a Linux kernel mechanism to constrain which CPUs and
106which CPUs and Memory Nodes are used by a process or set of processes. 108Memory Nodes are used by a process or set of processes.
107 109
108The Linux kernel already has a pair of mechanisms to specify on which 110The Linux kernel already has a pair of mechanisms to specify on which
109CPUs a task may be scheduled (sched_setaffinity) and on which Memory 111CPUs a task may be scheduled (sched_setaffinity) and on which Memory
@@ -371,22 +373,17 @@ cpusets memory placement policy 'mems' subsequently changes.
371If the cpuset flag file 'memory_migrate' is set true, then when 373If the cpuset flag file 'memory_migrate' is set true, then when
372tasks are attached to that cpuset, any pages that task had 374tasks are attached to that cpuset, any pages that task had
373allocated to it on nodes in its previous cpuset are migrated 375allocated to it on nodes in its previous cpuset are migrated
374to the tasks new cpuset. Depending on the implementation, 376to the tasks new cpuset. The relative placement of the page within
375this migration may either be done by swapping the page out, 377the cpuset is preserved during these migration operations if possible.
376so that the next time the page is referenced, it will be paged 378For example if the page was on the second valid node of the prior cpuset
377into the tasks new cpuset, usually on the node where it was 379then the page will be placed on the second valid node of the new cpuset.
378referenced, or this migration may be done by directly copying 380
379the pages from the tasks previous cpuset to the new cpuset,
380where possible to the same node, relative to the new cpuset,
381as the node that held the page, relative to the old cpuset.
382Also if 'memory_migrate' is set true, then if that cpusets 381Also if 'memory_migrate' is set true, then if that cpusets
383'mems' file is modified, pages allocated to tasks in that 382'mems' file is modified, pages allocated to tasks in that
384cpuset, that were on nodes in the previous setting of 'mems', 383cpuset, that were on nodes in the previous setting of 'mems',
385will be moved to nodes in the new setting of 'mems.' Again, 384will be moved to nodes in the new setting of 'mems.'
386depending on the implementation, this might be done by swapping, 385Pages that were not in the tasks prior cpuset, or in the cpusets
387or by direct copying. In either case, pages that were not in 386prior 'mems' setting, will not be moved.
388the tasks prior cpuset, or in the cpusets prior 'mems' setting,
389will not be moved.
390 387
391There is an exception to the above. If hotplug functionality is used 388There is an exception to the above. If hotplug functionality is used
392to remove all the CPUs that are currently assigned to a cpuset, 389to remove all the CPUs that are currently assigned to a cpuset,
@@ -434,16 +431,6 @@ and then start a subshell 'sh' in that cpuset:
434 # The next line should display '/Charlie' 431 # The next line should display '/Charlie'
435 cat /proc/self/cpuset 432 cat /proc/self/cpuset
436 433
437In the case that a change of cpuset includes wanting to move already
438allocated memory pages, consider further the work of IWAMOTO
439Toshihiro <iwamoto@valinux.co.jp> for page remapping and memory
440hotremoval, which can be found at:
441
442 http://people.valinux.co.jp/~iwamoto/mh.html
443
444The integration of cpusets with such memory migration is not yet
445available.
446
447In the future, a C library interface to cpusets will likely be 434In the future, a C library interface to cpusets will likely be
448available. For now, the only way to query or modify cpusets is 435available. For now, the only way to query or modify cpusets is
449via the cpuset file system, using the various cd, mkdir, echo, cat, 436via the cpuset file system, using the various cd, mkdir, echo, cat,
diff --git a/Documentation/dvb/avermedia.txt b/Documentation/dvb/avermedia.txt
index 068070ff13cd..8bab8461a4af 100644
--- a/Documentation/dvb/avermedia.txt
+++ b/Documentation/dvb/avermedia.txt
@@ -1,4 +1,3 @@
1
2HOWTO: Get An Avermedia DVB-T working under Linux 1HOWTO: Get An Avermedia DVB-T working under Linux
3 ______________________________________________ 2 ______________________________________________
4 3
@@ -137,11 +136,8 @@ Getting the card going
137 To power up the card, load the following modules in the 136 To power up the card, load the following modules in the
138 following order: 137 following order:
139 138
140 * insmod dvb-core.o 139 * modprobe bttv (normally loaded automatically)
141 * modprobe bttv.o 140 * modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
142 * insmod bt878.o
143 * insmod dvb-bt8xx.o
144 * insmod sp887x.o
145 141
146 Insertion of these modules into the running kernel will 142 Insertion of these modules into the running kernel will
147 activate the appropriate DVB device nodes. It is then possible 143 activate the appropriate DVB device nodes. It is then possible
@@ -302,4 +298,4 @@ Further Update
302 Many thanks to Nigel Pearson for the updates to this document 298 Many thanks to Nigel Pearson for the updates to this document
303 since the recent revision of the driver. 299 since the recent revision of the driver.
304 300
305 January 29th 2004 301 February 14th 2006
diff --git a/Documentation/dvb/bt8xx.txt b/Documentation/dvb/bt8xx.txt
index 52ed462061df..4e7614e606c5 100644
--- a/Documentation/dvb/bt8xx.txt
+++ b/Documentation/dvb/bt8xx.txt
@@ -1,118 +1,78 @@
1How to get the Nebula, PCTV, FusionHDTV Lite and Twinhan DST cards working 1How to get the bt8xx cards working
2========================================================================== 2==================================
3 3
4This class of cards has a bt878a as the PCI interface, and 41) General information
5require the bttv driver. 5======================
6 6
7Please pay close attention to the warning about the bttv module 7This class of cards has a bt878a as the PCI interface, and require the bttv driver
8options below for the DST card. 8for accessing the i2c bus and the gpio pins of the bt8xx chipset.
9Please see Documentation/dvb/cards.txt => o Cards based on the Conexant Bt8xx PCI bridge:
9 10
101) General informations 11Compiling kernel please enable:
11======================= 12a.)"Device drivers" => "Multimedia devices" => "Video For Linux" => "BT848 Video For Linux"
12 13b.)"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
13These drivers require the bttv driver to provide the means to access 14 => "DVB for Linux" "DVB Core Support" "Bt8xx based PCI Cards"
14the i2c bus and the gpio pins of the bt8xx chipset.
15
16Because of this, you need to enable
17"Device drivers" => "Multimedia devices"
18 => "Video For Linux" => "BT848 Video For Linux"
19
20Furthermore you need to enable
21"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
22 => "DVB for Linux" "DVB Core Support" "BT8xx based PCI cards"
23 15
242) Loading Modules 162) Loading Modules
25================== 17==================
26 18
27In general you need to load the bttv driver, which will handle the gpio and 19In default cases bttv is loaded automatically.
28i2c communication for us, plus the common dvb-bt8xx device driver. 20To load the backend either place dvb-bt8xx in etc/modules, or apply manually:
29The frontends for Nebula (nxt6000), Pinnacle PCTV (cx24110), TwinHan (dst),
30FusionHDTV DVB-T Lite (mt352) and FusionHDTV5 Lite (lgdt330x) are loaded
31automatically by the dvb-bt8xx device driver.
32
333a) Nebula / Pinnacle PCTV / FusionHDTV Lite
34---------------------------------------------
35
36 $ modprobe bttv (normally bttv is being loaded automatically by kmod)
37 $ modprobe dvb-bt8xx
38
39(or just place dvb-bt8xx in /etc/modules for automatic loading)
40
41
423b) TwinHan and Clones
43--------------------------
44 21
45 $ modprobe bttv card=0x71 22 $ modprobe dvb-bt8xx
46 $ modprobe dvb-bt8xx
47 $ modprobe dst
48 23
49The value 0x71 will override the PCI type detection for dvb-bt8xx, 24All frontends will be loaded automatically.
50which is necessary for TwinHan cards. Omission of this parameter might result 25People running udev please see Documentation/dvb/udev.txt.
51in a system lockup.
52 26
53If you're having an older card (blue color PCB) and card=0x71 locks up 27In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary:
54your machine, try using 0x68, too. If that does not work, ask on the
55mailing list.
56 28
57The DST module takes a couple of useful parameters. 292a) Running TwinHan and Clones
30------------------------------
58 31
59verbose takes values 0 to 4. These values control the verbosity level, 32 $ modprobe bttv card=113
60and can be used to debug also. 33 $ modprobe dvb-bt8xx
34 $ modprobe dst
61 35
62verbose=0 means complete disabling of messages 36Useful parameters for verbosity level and debugging the dst module:
63 1 only error messages are displayed
64 2 notifications are also displayed
65 3 informational messages are also displayed
66 4 debug setting
67 37
68dst_addons takes values 0 and 0x20. A value of 0 means it is a FTA card. 38verbose=0: messages are disabled
690x20 means it has a Conditional Access slot. 39 1: only error messages are displayed
40 2: notifications are displayed
41 3: other useful messages are displayed
42 4: debug setting
43dst_addons=0: card is a free to air (FTA) card only
44 0x20: card has a conditional access slot for scrambled channels
70 45
71The autodetected values are determined by the cards 'response string' 46The autodetected values are determined by the cards' "response string".
72which you can see in your logs e.g. 47In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
48For bug reports please send in a complete log with verbose=4 activated.
49Please also see Documentation/dvb/ci.txt.
73 50
74dst_get_device_id: Recognise [DSTMCI] 512b) Running multiple cards
75
76If you need to sent in bug reports on the dst, please do send in a complete
77log with the verbose=4 module parameter. For general usage, the default setting
78of verbose=1 is ideal.
79
80
814) Multiple cards
82-------------------------- 52--------------------------
83 53
84If you happen to be running multiple cards, it would be advisable to load 54Examples of card ID's:
85the bttv module with the card id. This would help to solve any module loading
86problems that you might face.
87
88For example, if you have a Twinhan and Clones card along with a FusionHDTV5 Lite
89 55
90 $ modprobe bttv card=0x71 card=0x87 56Pinnacle PCTV Sat: 94
91 57Nebula Electronics Digi TV: 104
92Here the order of the card id is important and should be the same as that of the 58pcHDTV HD-2000 TV: 112
93physical order of the cards. Here card=0x71 represents the Twinhan and clones 59Twinhan DST and clones: 113
94and card=0x87 represents Fusion HDTV5 Lite. These arguments can also be 60Avermedia AverTV DVB-T 771: 123
95specified in decimal, rather than hex: 61Avermedia AverTV DVB-T 761: 124
62DViCO FusionHDTV DVB-T Lite: 128
63DViCO FusionHDTV 5 Lite: 135
96 64
65Notice: The order of the card ID should be uprising:
66Example:
97 $ modprobe bttv card=113 card=135 67 $ modprobe bttv card=113 card=135
68 $ modprobe dvb-bt8xx
98 69
99Some examples of card-id's 70For a full list of card ID's please see Documentation/video4linux/CARDLIST.bttv.
100 71In case of further problems send questions to the mailing list: www.linuxdvb.org.
101Pinnacle Sat 0x5e (94)
102Nebula Digi TV 0x68 (104)
103PC HDTV 0x70 (112)
104Twinhan 0x71 (113)
105FusionHDTV DVB-T Lite 0x80 (128)
106FusionHDTV5 Lite 0x87 (135)
107
108For a full list of card-id's, see the V4L Documentation within the kernel
109source: linux/Documentation/video4linux/CARDLIST.bttv
110
111If you have problems with this please do ask on the mailing list.
112 72
113--
114Authors: Richard Walker, 73Authors: Richard Walker,
115 Jamie Honan, 74 Jamie Honan,
116 Michael Hunold, 75 Michael Hunold,
117 Manu Abraham, 76 Manu Abraham,
77 Uwe Bugla,
118 Michael Krufky 78 Michael Krufky
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
index 75c28a174092..bb55f49f2745 100644
--- a/Documentation/dvb/get_dvb_firmware
+++ b/Documentation/dvb/get_dvb_firmware
@@ -21,8 +21,9 @@
21use File::Temp qw/ tempdir /; 21use File::Temp qw/ tempdir /;
22use IO::Handle; 22use IO::Handle;
23 23
24@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", 24@components = ( "sp8870", "sp887x", "tda10045", "tda10046",
25 "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", 25 "tda10046lifeview", "av7110", "dec2000t", "dec2540t",
26 "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
26 "or51211", "or51132_qam", "or51132_vsb", "bluebird"); 27 "or51211", "or51132_qam", "or51132_vsb", "bluebird");
27 28
28# Check args 29# Check args
@@ -126,6 +127,24 @@ sub tda10046 {
126 $outfile; 127 $outfile;
127} 128}
128 129
130sub tda10046lifeview {
131 my $sourcefile = "Drv_2.11.02.zip";
132 my $url = "http://www.lifeview.com.tw/drivers/pci_card/FlyDVB-T/$sourcefile";
133 my $hash = "1ea24dee4eea8fe971686981f34fd2e0";
134 my $outfile = "dvb-fe-tda10046.fw";
135 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
136
137 checkstandard();
138
139 wgetfile($sourcefile, $url);
140 unzip($sourcefile, $tmpdir);
141 extract("$tmpdir/LVHybrid.sys", 0x8b088, 24602, "$tmpdir/fwtmp");
142 verify("$tmpdir/fwtmp", $hash);
143 copy("$tmpdir/fwtmp", $outfile);
144
145 $outfile;
146}
147
129sub av7110 { 148sub av7110 {
130 my $sourcefile = "dvb-ttpci-01.fw-261d"; 149 my $sourcefile = "dvb-ttpci-01.fw-261d";
131 my $url = "http://www.linuxtv.org/downloads/firmware/$sourcefile"; 150 my $url = "http://www.linuxtv.org/downloads/firmware/$sourcefile";
diff --git a/Documentation/dvb/readme.txt b/Documentation/dvb/readme.txt
index f5c50b22de3b..0b0380c91990 100644
--- a/Documentation/dvb/readme.txt
+++ b/Documentation/dvb/readme.txt
@@ -20,11 +20,23 @@ http://linuxtv.org/downloads/
20 20
21What's inside this directory: 21What's inside this directory:
22 22
23"avermedia.txt"
24contains detailed information about the
25Avermedia DVB-T cards. See also "bt8xx.txt".
26
27"bt8xx.txt"
28contains detailed information about the
29various bt8xx based "budget" DVB cards.
30
23"cards.txt" 31"cards.txt"
24contains a list of supported hardware. 32contains a list of supported hardware.
25 33
34"ci.txt"
35contains detailed information about the
36CI module as part from TwinHan cards and Clones.
37
26"contributors.txt" 38"contributors.txt"
27is the who-is-who of DVB development 39is the who-is-who of DVB development.
28 40
29"faq.txt" 41"faq.txt"
30contains frequently asked questions and their answers. 42contains frequently asked questions and their answers.
@@ -34,19 +46,17 @@ script to download and extract firmware for those devices
34that require it. 46that require it.
35 47
36"ttusb-dec.txt" 48"ttusb-dec.txt"
37contains detailed informations about the 49contains detailed information about the
38TT DEC2000/DEC3000 USB DVB hardware. 50TT DEC2000/DEC3000 USB DVB hardware.
39 51
40"bt8xx.txt"
41contains detailed installation instructions for the
42various bt8xx based "budget" DVB cards
43(Nebula, Pinnacle PCTV, Twinhan DST)
44
45"README.dibusb"
46contains detailed information about adapters
47based on DiBcom reference design.
48
49"udev.txt" 52"udev.txt"
50how to get DVB and udev up and running. 53how to get DVB and udev up and running.
51 54
55"README.dvb-usb"
56contains detailed information about the DVB USB cards.
57
58"README.flexcop"
59contains detailed information about the
60Technisat- and Flexcop B2C2 drivers.
61
52Good luck and have fun! 62Good luck and have fun!
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 81bc51369f59..afeaf6218ea2 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -151,6 +151,13 @@ Who: Ralf Baechle <ralf@linux-mips.org>
151 151
152--------------------------- 152---------------------------
153 153
154What: eepro100 network driver
155When: January 2007
156Why: replaced by the e100 driver
157Who: Adrian Bunk <bunk@stusta.de>
158
159---------------------------
160
154What: Legacy /proc/pci interface (PCI_LEGACY_PROC) 161What: Legacy /proc/pci interface (PCI_LEGACY_PROC)
155When: March 2006 162When: March 2006
156Why: deprecated since 2.5.53 in favor of lspci(8) 163Why: deprecated since 2.5.53 in favor of lspci(8)
@@ -189,3 +196,21 @@ Why: Board specific code doesn't build anymore since ~2.6.0 and no
189 users have complained indicating there is no more need for these 196 users have complained indicating there is no more need for these
190 boards. This should really be considered a last call. 197 boards. This should really be considered a last call.
191Who: Ralf Baechle <ralf@linux-mips.org> 198Who: Ralf Baechle <ralf@linux-mips.org>
199
200---------------------------
201
202What: USB driver API moves to EXPORT_SYMBOL_GPL
203When: Febuary 2008
204Files: include/linux/usb.h, drivers/usb/core/driver.c
205Why: The USB subsystem has changed a lot over time, and it has been
206 possible to create userspace USB drivers using usbfs/libusb/gadgetfs
207 that operate as fast as the USB bus allows. Because of this, the USB
208 subsystem will not be allowing closed source kernel drivers to
209 register with it, after this grace period is over. If anyone needs
210 any help in converting their closed source drivers over to use the
211 userspace filesystems, please contact the
212 linux-usb-devel@lists.sourceforge.net mailing list, and the developers
213 there will be glad to help you out.
214Who: Greg Kroah-Hartman <gregkh@suse.de>
215
216---------------------------
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index 5b01d5cc4e95..b1181ce232d9 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -92,8 +92,6 @@ routing.txt
92 - the new routing mechanism 92 - the new routing mechanism
93shaper.txt 93shaper.txt
94 - info on the module that can shape/limit transmitted traffic. 94 - info on the module that can shape/limit transmitted traffic.
95sis900.txt
96 - SiS 900/7016 Fast Ethernet device driver info.
97sk98lin.txt 95sk98lin.txt
98 - Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit 96 - Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit
99 Ethernet Adapter family driver info 97 Ethernet Adapter family driver info
diff --git a/Documentation/networking/README.ipw2100 b/Documentation/networking/README.ipw2100
index 3ab40379d1cf..f3fcaa41f774 100644
--- a/Documentation/networking/README.ipw2100
+++ b/Documentation/networking/README.ipw2100
@@ -3,18 +3,18 @@ Intel(R) PRO/Wireless 2100 Driver for Linux in support of:
3 3
4Intel(R) PRO/Wireless 2100 Network Connection 4Intel(R) PRO/Wireless 2100 Network Connection
5 5
6Copyright (C) 2003-2005, Intel Corporation 6Copyright (C) 2003-2006, Intel Corporation
7 7
8README.ipw2100 8README.ipw2100
9 9
10Version: 1.1.3 10Version: git-1.1.5
11Date : October 17, 2005 11Date : January 25, 2006
12 12
13Index 13Index
14----------------------------------------------- 14-----------------------------------------------
150. IMPORTANT INFORMATION BEFORE USING THIS DRIVER 150. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
161. Introduction 161. Introduction
172. Release 1.1.3 Current Features 172. Release git-1.1.5 Current Features
183. Command Line Parameters 183. Command Line Parameters
194. Sysfs Helper Files 194. Sysfs Helper Files
205. Radio Kill Switch 205. Radio Kill Switch
@@ -89,7 +89,7 @@ potential fixes and patches, as well as links to the development mailing list
89for the driver project. 89for the driver project.
90 90
91 91
922. Release 1.1.3 Current Supported Features 922. Release git-1.1.5 Current Supported Features
93----------------------------------------------- 93-----------------------------------------------
94- Managed (BSS) and Ad-Hoc (IBSS) 94- Managed (BSS) and Ad-Hoc (IBSS)
95- WEP (shared key and open) 95- WEP (shared key and open)
@@ -270,7 +270,7 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels
2709. License 2709. License
271----------------------------------------------- 271-----------------------------------------------
272 272
273 Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. 273 Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
274 274
275 This program is free software; you can redistribute it and/or modify it 275 This program is free software; you can redistribute it and/or modify it
276 under the terms of the GNU General Public License (version 2) as 276 under the terms of the GNU General Public License (version 2) as
diff --git a/Documentation/networking/README.ipw2200 b/Documentation/networking/README.ipw2200
index c6492d3839fa..acb30c5dcff3 100644
--- a/Documentation/networking/README.ipw2200
+++ b/Documentation/networking/README.ipw2200
@@ -10,7 +10,7 @@ both hardware adapters listed above. In this document the Intel(R)
10PRO/Wireless 2915ABG Driver for Linux will be used to reference the 10PRO/Wireless 2915ABG Driver for Linux will be used to reference the
11unified driver. 11unified driver.
12 12
13Copyright (C) 2004-2005, Intel Corporation 13Copyright (C) 2004-2006, Intel Corporation
14 14
15README.ipw2200 15README.ipw2200
16 16
@@ -26,9 +26,11 @@ Index
261.2. Module parameters 261.2. Module parameters
271.3. Wireless Extension Private Methods 271.3. Wireless Extension Private Methods
281.4. Sysfs Helper Files 281.4. Sysfs Helper Files
291.5. Supported channels
292. Ad-Hoc Networking 302. Ad-Hoc Networking
303. Interacting with Wireless Tools 313. Interacting with Wireless Tools
313.1. iwconfig mode 323.1. iwconfig mode
333.2. iwconfig sens
324. About the Version Numbers 344. About the Version Numbers
335. Firmware installation 355. Firmware installation
346. Support 366. Support
@@ -314,6 +316,35 @@ For the device level files, see /sys/bus/pci/drivers/ipw2200:
314 running ifconfig and is therefore disabled by default. 316 running ifconfig and is therefore disabled by default.
315 317
316 318
3191.5. Supported channels
320-----------------------------------------------
321
322Upon loading the Intel(R) PRO/Wireless 2915ABG Driver for Linux, a
323message stating the detected geography code and the number of 802.11
324channels supported by the card will be displayed in the log.
325
326The geography code corresponds to a regulatory domain as shown in the
327table below.
328
329 Supported channels
330Code Geography 802.11bg 802.11a
331
332--- Restricted 11 0
333ZZF Custom US/Canada 11 8
334ZZD Rest of World 13 0
335ZZA Custom USA & Europe & High 11 13
336ZZB Custom NA & Europe 11 13
337ZZC Custom Japan 11 4
338ZZM Custom 11 0
339ZZE Europe 13 19
340ZZJ Custom Japan 14 4
341ZZR Rest of World 14 0
342ZZH High Band 13 4
343ZZG Custom Europe 13 4
344ZZK Europe 13 24
345ZZL Europe 11 13
346
347
3172. Ad-Hoc Networking 3482. Ad-Hoc Networking
318----------------------------------------------- 349-----------------------------------------------
319 350
@@ -353,6 +384,15 @@ When configuring the mode of the adapter, all run-time configured parameters
353are reset to the value used when the module was loaded. This includes 384are reset to the value used when the module was loaded. This includes
354channels, rates, ESSID, etc. 385channels, rates, ESSID, etc.
355 386
3873.2 iwconfig sens
388-----------------------------------------------
389
390The 'iwconfig ethX sens XX' command will not set the signal sensitivity
391threshold, as described in iwconfig documentation, but rather the number
392of consecutive missed beacons that will trigger handover, i.e. roaming
393to another access point. At the same time, it will set the disassociation
394threshold to 3 times the given value.
395
356 396
3574. About the Version Numbers 3974. About the Version Numbers
358----------------------------------------------- 398-----------------------------------------------
@@ -408,7 +448,7 @@ For general information and support, go to:
4087. License 4487. License
409----------------------------------------------- 449-----------------------------------------------
410 450
411 Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. 451 Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
412 452
413 This program is free software; you can redistribute it and/or modify it 453 This program is free software; you can redistribute it and/or modify it
414 under the terms of the GNU General Public License version 2 as 454 under the terms of the GNU General Public License version 2 as
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index 26364d06ae92..f12007b80a46 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -355,6 +355,13 @@ somaxconn - INTEGER
355 Defaults to 128. See also tcp_max_syn_backlog for additional tuning 355 Defaults to 128. See also tcp_max_syn_backlog for additional tuning
356 for TCP sockets. 356 for TCP sockets.
357 357
358tcp_workaround_signed_windows - BOOLEAN
359 If set, assume no receipt of a window scaling option means the
360 remote TCP is broken and treats the window as a signed quantity.
361 If unset, assume the remote TCP is not broken even if we do
362 not receive a window scaling option from them.
363 Default: 0
364
358IP Variables: 365IP Variables:
359 366
360ip_local_port_range - 2 INTEGERS 367ip_local_port_range - 2 INTEGERS
@@ -619,6 +626,11 @@ arp_ignore - INTEGER
619 The max value from conf/{all,interface}/arp_ignore is used 626 The max value from conf/{all,interface}/arp_ignore is used
620 when ARP request is received on the {interface} 627 when ARP request is received on the {interface}
621 628
629arp_accept - BOOLEAN
630 Define behavior when gratuitous arp replies are received:
631 0 - drop gratuitous arp frames
632 1 - accept gratuitous arp frames
633
622app_solicit - INTEGER 634app_solicit - INTEGER
623 The maximum number of probes to send to the user space ARP daemon 635 The maximum number of probes to send to the user space ARP daemon
624 via netlink before dropping back to multicast probes (see 636 via netlink before dropping back to multicast probes (see
@@ -717,6 +729,33 @@ accept_ra - BOOLEAN
717 Functional default: enabled if local forwarding is disabled. 729 Functional default: enabled if local forwarding is disabled.
718 disabled if local forwarding is enabled. 730 disabled if local forwarding is enabled.
719 731
732accept_ra_defrtr - BOOLEAN
733 Learn default router in Router Advertisement.
734
735 Functional default: enabled if accept_ra is enabled.
736 disabled if accept_ra is disabled.
737
738accept_ra_pinfo - BOOLEAN
739 Learn Prefix Inforamtion in Router Advertisement.
740
741 Functional default: enabled if accept_ra is enabled.
742 disabled if accept_ra is disabled.
743
744accept_ra_rt_info_max_plen - INTEGER
745 Maximum prefix length of Route Information in RA.
746
747 Route Information w/ prefix larger than or equal to this
748 variable shall be ignored.
749
750 Functional default: 0 if accept_ra_rtr_pref is enabled.
751 -1 if accept_ra_rtr_pref is disabled.
752
753accept_ra_rtr_pref - BOOLEAN
754 Accept Router Preference in RA.
755
756 Functional default: enabled if accept_ra is enabled.
757 disabled if accept_ra is disabled.
758
720accept_redirects - BOOLEAN 759accept_redirects - BOOLEAN
721 Accept Redirects. 760 Accept Redirects.
722 761
@@ -727,8 +766,8 @@ autoconf - BOOLEAN
727 Autoconfigure addresses using Prefix Information in Router 766 Autoconfigure addresses using Prefix Information in Router
728 Advertisements. 767 Advertisements.
729 768
730 Functional default: enabled if accept_ra is enabled. 769 Functional default: enabled if accept_ra_pinfo is enabled.
731 disabled if accept_ra is disabled. 770 disabled if accept_ra_pinfo is disabled.
732 771
733dad_transmits - INTEGER 772dad_transmits - INTEGER
734 The amount of Duplicate Address Detection probes to send. 773 The amount of Duplicate Address Detection probes to send.
@@ -771,6 +810,12 @@ mtu - INTEGER
771 Default Maximum Transfer Unit 810 Default Maximum Transfer Unit
772 Default: 1280 (IPv6 required minimum) 811 Default: 1280 (IPv6 required minimum)
773 812
813router_probe_interval - INTEGER
814 Minimum interval (in seconds) between Router Probing described
815 in RFC4191.
816
817 Default: 60
818
774router_solicitation_delay - INTEGER 819router_solicitation_delay - INTEGER
775 Number of seconds to wait after interface is brought up 820 Number of seconds to wait after interface is brought up
776 before sending Router Solicitations. 821 before sending Router Solicitations.
diff --git a/Documentation/networking/sis900.txt b/Documentation/networking/sis900.txt
deleted file mode 100644
index bddffd7385ae..000000000000
--- a/Documentation/networking/sis900.txt
+++ /dev/null
@@ -1,257 +0,0 @@
1
2SiS 900/7016 Fast Ethernet Device Driver
3
4Ollie Lho
5
6Lei Chun Chang
7
8 Copyright © 1999 by Silicon Integrated System Corp.
9
10 This document gives some information on installation and usage of SiS
11 900/7016 device driver under Linux.
12
13 This program is free software; you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation; either version 2 of the License, or (at
16 your option) any later version.
17
18 This program is distributed in the hope that it will be useful, but
19 WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software
25 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
26 USA
27 _________________________________________________________________
28
29 Table of Contents
30 1. Introduction
31 2. Changes
32 3. Tested Environment
33 4. Files in This Package
34 5. Installation
35
36 Building the driver as loadable module
37 Building the driver into kernel
38
39 6. Known Problems and Bugs
40 7. Revision History
41 8. Acknowledgements
42 _________________________________________________________________
43
44Chapter 1. Introduction
45
46 This document describes the revision 1.06 and 1.07 of SiS 900/7016
47 Fast Ethernet device driver under Linux. The driver is developed by
48 Silicon Integrated System Corp. and distributed freely under the GNU
49 General Public License (GPL). The driver can be compiled as a loadable
50 module and used under Linux kernel version 2.2.x. (rev. 1.06) With
51 minimal changes, the driver can also be used under 2.3.x and 2.4.x
52 kernel (rev. 1.07), please see Chapter 5. If you are intended to use
53 the driver for earlier kernels, you are on your own.
54
55 The driver is tested with usual TCP/IP applications including FTP,
56 Telnet, Netscape etc. and is used constantly by the developers.
57
58 Please send all comments/fixes/questions to Lei-Chun Chang.
59 _________________________________________________________________
60
61Chapter 2. Changes
62
63 Changes made in Revision 1.07
64
65 1. Separation of sis900.c and sis900.h in order to move most constant
66 definition to sis900.h (many of those constants were corrected)
67 2. Clean up PCI detection, the pci-scan from Donald Becker were not
68 used, just simple pci_find_*.
69 3. MII detection is modified to support multiple mii transceiver.
70 4. Bugs in read_eeprom, mdio_* were removed.
71 5. Lot of sis900 irrelevant comments were removed/changed and more
72 comments were added to reflect the real situation.
73 6. Clean up of physical/virtual address space mess in buffer
74 descriptors.
75 7. Better transmit/receive error handling.
76 8. The driver now uses zero-copy single buffer management scheme to
77 improve performance.
78 9. Names of variables were changed to be more consistent.
79 10. Clean up of auo-negotiation and timer code.
80 11. Automatic detection and change of PHY on the fly.
81 12. Bug in mac probing fixed.
82 13. Fix 630E equalier problem by modifying the equalizer workaround
83 rule.
84 14. Support for ICS1893 10/100 Interated PHYceiver.
85 15. Support for media select by ifconfig.
86 16. Added kernel-doc extratable documentation.
87 _________________________________________________________________
88
89Chapter 3. Tested Environment
90
91 This driver is developed on the following hardware
92
93 * Intel Celeron 500 with SiS 630 (rev 02) chipset
94 * SiS 900 (rev 01) and SiS 7016/7014 Fast Ethernet Card
95
96 and tested with these software environments
97
98 * Red Hat Linux version 6.2
99 * Linux kernel version 2.4.0
100 * Netscape version 4.6
101 * NcFTP 3.0.0 beta 18
102 * Samba version 2.0.3
103 _________________________________________________________________
104
105Chapter 4. Files in This Package
106
107 In the package you can find these files:
108
109 sis900.c
110 Driver source file in C
111
112 sis900.h
113 Header file for sis900.c
114
115 sis900.sgml
116 DocBook SGML source of the document
117
118 sis900.txt
119 Driver document in plain text
120 _________________________________________________________________
121
122Chapter 5. Installation
123
124 Silicon Integrated System Corp. is cooperating closely with core Linux
125 Kernel developers. The revisions of SiS 900 driver are distributed by
126 the usuall channels for kernel tar files and patches. Those kernel tar
127 files for official kernel and patches for kernel pre-release can be
128 download at official kernel ftp site and its mirrors. The 1.06
129 revision can be found in kernel version later than 2.3.15 and
130 pre-2.2.14, and 1.07 revision can be found in kernel version 2.4.0. If
131 you have no prior experience in networking under Linux, please read
132 Ethernet HOWTO and Networking HOWTO available from Linux Documentation
133 Project (LDP).
134
135 The driver is bundled in release later than 2.2.11 and 2.3.15 so this
136 is the most easy case. Be sure you have the appropriate packages for
137 compiling kernel source. Those packages are listed in Document/Changes
138 in kernel source distribution. If you have to install the driver other
139 than those bundled in kernel release, you should have your driver file
140 sis900.c and sis900.h copied into /usr/src/linux/drivers/net/ first.
141 There are two alternative ways to install the driver
142 _________________________________________________________________
143
144Building the driver as loadable module
145
146 To build the driver as a loadable kernel module you have to
147 reconfigure the kernel to activate network support by
148
149make menuconfig
150
151 Choose "Loadable module support --->", then select "Enable loadable
152 module support".
153
154 Choose "Network Device Support --->", select "Ethernet (10 or
155 100Mbit)". Then select "EISA, VLB, PCI and on board controllers", and
156 choose "SiS 900/7016 PCI Fast Ethernet Adapter support" to "M".
157
158 After reconfiguring the kernel, you can make the driver module by
159
160make modules
161
162 The driver should be compiled with no errors. After compiling the
163 driver, the driver can be installed to proper place by
164
165make modules_install
166
167 Load the driver into kernel by
168
169insmod sis900
170
171 When loading the driver into memory, some information message can be
172 view by
173
174dmesg
175
176 or
177cat /var/log/message
178
179 If the driver is loaded properly you will have messages similar to
180 this:
181
182sis900.c: v1.07.06 11/07/2000
183eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 10, 00:00:e8:83:7f:a4.
184eth0: SiS 900 Internal MII PHY transceiver found at address 1.
185eth0: Using SiS 900 Internal MII PHY as default
186
187 showing the version of the driver and the results of probing routine.
188
189 Once the driver is loaded, network can be brought up by
190
191/sbin/ifconfig eth0 IPADDR broadcast BROADCAST netmask NETMASK media TYPE
192
193 where IPADDR, BROADCAST, NETMASK are your IP address, broadcast
194 address and netmask respectively. TYPE is used to set medium type used
195 by the device. Typical values are "10baseT"(twisted-pair 10Mbps
196 Ethernet) or "100baseT" (twisted-pair 100Mbps Ethernet). For more
197 information on how to configure network interface, please refer to
198 Networking HOWTO.
199
200 The link status is also shown by kernel messages. For example, after
201 the network interface is activated, you may have the message:
202
203eth0: Media Link On 100mbps full-duplex
204
205 If you try to unplug the twist pair (TP) cable you will get
206
207eth0: Media Link Off
208
209 indicating that the link is failed.
210 _________________________________________________________________
211
212Building the driver into kernel
213
214 If you want to make the driver into kernel, choose "Y" rather than "M"
215 on "SiS 900/7016 PCI Fast Ethernet Adapter support" when configuring
216 the kernel. Build the kernel image in the usual way
217
218make clean
219
220make bzlilo
221
222 Next time the system reboot, you have the driver in memory.
223 _________________________________________________________________
224
225Chapter 6. Known Problems and Bugs
226
227 There are some known problems and bugs. If you find any other bugs
228 please mail to lcchang@sis.com.tw
229
230 1. AM79C901 HomePNA PHY is not thoroughly tested, there may be some
231 bugs in the "on the fly" change of transceiver.
232 2. A bug is hidden somewhere in the receive buffer management code,
233 the bug causes NULL pointer reference in the kernel. This fault is
234 caught before bad things happen and reported with the message:
235 eth0: NULL pointer encountered in Rx ring, skipping which can be
236 viewed with dmesg or cat /var/log/message.
237 3. The media type change from 10Mbps to 100Mbps twisted-pair ethernet
238 by ifconfig causes the media link down.
239 _________________________________________________________________
240
241Chapter 7. Revision History
242
243 * November 13, 2000, Revision 1.07, seventh release, 630E problem
244 fixed and further clean up.
245 * November 4, 1999, Revision 1.06, Second release, lots of clean up
246 and optimization.
247 * August 8, 1999, Revision 1.05, Initial Public Release
248 _________________________________________________________________
249
250Chapter 8. Acknowledgements
251
252 This driver was originally derived form Donald Becker's pci-skeleton
253 and rtl8139 drivers. Donald also provided various suggestion regarded
254 with improvements made in revision 1.06.
255
256 The 1.05 revision was created by Jim Huang, AMD 79c901 support was
257 added by Chin-Shan Li.
diff --git a/Documentation/usb/et61x251.txt b/Documentation/usb/et61x251.txt
index b44dda407ce2..29340282ab5f 100644
--- a/Documentation/usb/et61x251.txt
+++ b/Documentation/usb/et61x251.txt
@@ -176,6 +176,14 @@ Description: Force the application to unmap previously mapped buffer memory
176 1 = force memory unmapping (save memory) 176 1 = force memory unmapping (save memory)
177Default: 0 177Default: 0
178------------------------------------------------------------------------------- 178-------------------------------------------------------------------------------
179Name: frame_timeout
180Type: uint array (min = 0, max = 64)
181Syntax: <n[,...]>
182Description: Timeout for a video frame in seconds. This parameter is
183 specific for each detected camera. This parameter can be
184 changed at runtime thanks to the /sys filesystem interface.
185Default: 2
186-------------------------------------------------------------------------------
179Name: debug 187Name: debug
180Type: ushort 188Type: ushort
181Syntax: <n> 189Syntax: <n>
@@ -266,7 +274,7 @@ the V4L2 interface.
266 274
267 275
26810. Notes for V4L2 application developers 27610. Notes for V4L2 application developers
269======================================== 277=========================================
270This driver follows the V4L2 API specifications. In particular, it enforces two 278This driver follows the V4L2 API specifications. In particular, it enforces two
271rules: 279rules:
272 280
diff --git a/Documentation/usb/sn9c102.txt b/Documentation/usb/sn9c102.txt
index c6b76414172c..b957beae5607 100644
--- a/Documentation/usb/sn9c102.txt
+++ b/Documentation/usb/sn9c102.txt
@@ -196,6 +196,14 @@ Description: Force the application to unmap previously mapped buffer memory
196 1 = force memory unmapping (save memory) 196 1 = force memory unmapping (save memory)
197Default: 0 197Default: 0
198------------------------------------------------------------------------------- 198-------------------------------------------------------------------------------
199Name: frame_timeout
200Type: uint array (min = 0, max = 64)
201Syntax: <n[,...]>
202Description: Timeout for a video frame in seconds. This parameter is
203 specific for each detected camera. This parameter can be
204 changed at runtime thanks to the /sys filesystem interface.
205Default: 2
206-------------------------------------------------------------------------------
199Name: debug 207Name: debug
200Type: ushort 208Type: ushort
201Syntax: <n> 209Syntax: <n>
@@ -321,6 +329,7 @@ Vendor ID Product ID
321--------- ---------- 329--------- ----------
3220x0c45 0x6001 3300x0c45 0x6001
3230x0c45 0x6005 3310x0c45 0x6005
3320x0c45 0x6007
3240x0c45 0x6009 3330x0c45 0x6009
3250x0c45 0x600d 3340x0c45 0x600d
3260x0c45 0x6024 3350x0c45 0x6024
@@ -370,6 +379,7 @@ HV7131D Hynix Semiconductor, Inc.
370MI-0343 Micron Technology, Inc. 379MI-0343 Micron Technology, Inc.
371OV7630 OmniVision Technologies, Inc. 380OV7630 OmniVision Technologies, Inc.
372PAS106B PixArt Imaging, Inc. 381PAS106B PixArt Imaging, Inc.
382PAS202BCA PixArt Imaging, Inc.
373PAS202BCB PixArt Imaging, Inc. 383PAS202BCB PixArt Imaging, Inc.
374TAS5110C1B Taiwan Advanced Sensor Corporation 384TAS5110C1B Taiwan Advanced Sensor Corporation
375TAS5130D1B Taiwan Advanced Sensor Corporation 385TAS5130D1B Taiwan Advanced Sensor Corporation
@@ -493,6 +503,7 @@ Many thanks to following persons for their contribute (listed in alphabetical
493order): 503order):
494 504
495- Luca Capello for the donation of a webcam; 505- Luca Capello for the donation of a webcam;
506- Philippe Coval for having helped testing the PAS202BCA image sensor;
496- Joao Rodrigo Fuzaro, Joao Limirio, Claudio Filho and Caio Begotti for the 507- Joao Rodrigo Fuzaro, Joao Limirio, Claudio Filho and Caio Begotti for the
497 donation of a webcam; 508 donation of a webcam;
498- Jon Hollstrom for the donation of a webcam; 509- Jon Hollstrom for the donation of a webcam;
diff --git a/Documentation/usb/zc0301.txt b/Documentation/usb/zc0301.txt
new file mode 100644
index 000000000000..f55262c6733b
--- /dev/null
+++ b/Documentation/usb/zc0301.txt
@@ -0,0 +1,254 @@
1
2 ZC0301 Image Processor and Control Chip
3 Driver for Linux
4 =======================================
5
6 - Documentation -
7
8
9Index
10=====
111. Copyright
122. Disclaimer
133. License
144. Overview and features
155. Module dependencies
166. Module loading
177. Module parameters
188. Supported devices
199. Notes for V4L2 application developers
2010. Contact information
2111. Credits
22
23
241. Copyright
25============
26Copyright (C) 2006 by Luca Risolia <luca.risolia@studio.unibo.it>
27
28
292. Disclaimer
30=============
31This software is not developed or sponsored by Z-Star Microelectronics Corp.
32Trademarks are property of their respective owner.
33
34
353. License
36==========
37This program is free software; you can redistribute it and/or modify
38it under the terms of the GNU General Public License as published by
39the Free Software Foundation; either version 2 of the License, or
40(at your option) any later version.
41
42This program is distributed in the hope that it will be useful,
43but WITHOUT ANY WARRANTY; without even the implied warranty of
44MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45GNU General Public License for more details.
46
47You should have received a copy of the GNU General Public License
48along with this program; if not, write to the Free Software
49Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
50
51
524. Overview and features
53========================
54This driver supports the video interface of the devices mounting the ZC0301
55Image Processor and Control Chip.
56
57The driver relies on the Video4Linux2 and USB core modules. It has been
58designed to run properly on SMP systems as well.
59
60The latest version of the ZC0301 driver can be found at the following URL:
61http://www.linux-projects.org/
62
63Some of the features of the driver are:
64
65- full compliance with the Video4Linux2 API (see also "Notes for V4L2
66 application developers" paragraph);
67- available mmap or read/poll methods for video streaming through isochronous
68 data transfers;
69- automatic detection of image sensor;
70- video format is standard JPEG;
71- dynamic driver control thanks to various module parameters (see "Module
72 parameters" paragraph);
73- up to 64 cameras can be handled at the same time; they can be connected and
74 disconnected from the host many times without turning off the computer, if
75 the system supports hotplugging;
76
77
785. Module dependencies
79======================
80For it to work properly, the driver needs kernel support for Video4Linux and
81USB.
82
83The following options of the kernel configuration file must be enabled and
84corresponding modules must be compiled:
85
86 # Multimedia devices
87 #
88 CONFIG_VIDEO_DEV=m
89
90 # USB support
91 #
92 CONFIG_USB=m
93
94In addition, depending on the hardware being used, the modules below are
95necessary:
96
97 # USB Host Controller Drivers
98 #
99 CONFIG_USB_EHCI_HCD=m
100 CONFIG_USB_UHCI_HCD=m
101 CONFIG_USB_OHCI_HCD=m
102
103The ZC0301 controller also provides a built-in microphone interface. It is
104supported by the USB Audio driver thanks to the ALSA API:
105
106 # Sound
107 #
108 CONFIG_SOUND=y
109
110 # Advanced Linux Sound Architecture
111 #
112 CONFIG_SND=m
113
114 # USB devices
115 #
116 CONFIG_SND_USB_AUDIO=m
117
118And finally:
119
120 # USB Multimedia devices
121 #
122 CONFIG_USB_ZC0301=m
123
124
1256. Module loading
126=================
127To use the driver, it is necessary to load the "zc0301" module into memory
128after every other module required: "videodev", "usbcore" and, depending on
129the USB host controller you have, "ehci-hcd", "uhci-hcd" or "ohci-hcd".
130
131Loading can be done as shown below:
132
133 [root@localhost home]# modprobe zc0301
134
135At this point the devices should be recognized. You can invoke "dmesg" to
136analyze kernel messages and verify that the loading process has gone well:
137
138 [user@localhost home]$ dmesg
139
140
1417. Module parameters
142====================
143Module parameters are listed below:
144-------------------------------------------------------------------------------
145Name: video_nr
146Type: short array (min = 0, max = 64)
147Syntax: <-1|n[,...]>
148Description: Specify V4L2 minor mode number:
149 -1 = use next available
150 n = use minor number n
151 You can specify up to 64 cameras this way.
152 For example:
153 video_nr=-1,2,-1 would assign minor number 2 to the second
154 registered camera and use auto for the first one and for every
155 other camera.
156Default: -1
157-------------------------------------------------------------------------------
158Name: force_munmap
159Type: bool array (min = 0, max = 64)
160Syntax: <0|1[,...]>
161Description: Force the application to unmap previously mapped buffer memory
162 before calling any VIDIOC_S_CROP or VIDIOC_S_FMT ioctl's. Not
163 all the applications support this feature. This parameter is
164 specific for each detected camera.
165 0 = do not force memory unmapping
166 1 = force memory unmapping (save memory)
167Default: 0
168-------------------------------------------------------------------------------
169Name: frame_timeout
170Type: uint array (min = 0, max = 64)
171Syntax: <n[,...]>
172Description: Timeout for a video frame in seconds. This parameter is
173 specific for each detected camera. This parameter can be
174 changed at runtime thanks to the /sys filesystem interface.
175Default: 2
176-------------------------------------------------------------------------------
177Name: debug
178Type: ushort
179Syntax: <n>
180Description: Debugging information level, from 0 to 3:
181 0 = none (use carefully)
182 1 = critical errors
183 2 = significant informations
184 3 = more verbose messages
185 Level 3 is useful for testing only, when only one device
186 is used at the same time. It also shows some more informations
187 about the hardware being detected. This module parameter can be
188 changed at runtime thanks to the /sys filesystem interface.
189Default: 2
190-------------------------------------------------------------------------------
191
192
1938. Supported devices
194====================
195None of the names of the companies as well as their products will be mentioned
196here. They have never collaborated with the author, so no advertising.
197
198From the point of view of a driver, what unambiguously identify a device are
199its vendor and product USB identifiers. Below is a list of known identifiers of
200devices mounting the ZC0301 Image Processor and Control Chips:
201
202Vendor ID Product ID
203--------- ----------
2040x041e 0x4017
2050x041e 0x401c
2060x041e 0x401e
2070x041e 0x4034
2080x041e 0x4035
2090x046d 0x08ae
2100x0ac8 0x0301
2110x10fd 0x8050
212
213The list above does not imply that all those devices work with this driver: up
214until now only the ones that mount the following image sensors are supported;
215kernel messages will always tell you whether this is the case:
216
217Model Manufacturer
218----- ------------
219PAS202BCB PixArt Imaging, Inc.
220
221
2229. Notes for V4L2 application developers
223========================================
224This driver follows the V4L2 API specifications. In particular, it enforces two
225rules:
226
227- exactly one I/O method, either "mmap" or "read", is associated with each
228file descriptor. Once it is selected, the application must close and reopen the
229device to switch to the other I/O method;
230
231- although it is not mandatory, previously mapped buffer memory should always
232be unmapped before calling any "VIDIOC_S_CROP" or "VIDIOC_S_FMT" ioctl's.
233The same number of buffers as before will be allocated again to match the size
234of the new video frames, so you have to map the buffers again before any I/O
235attempts on them.
236
237
23810. Contact information
239=======================
240The author may be contacted by e-mail at <luca.risolia@studio.unibo.it>.
241
242GPG/PGP encrypted e-mail's are accepted. The GPG key ID of the author is
243'FCE635A4'; the public 1024-bit key should be available at any keyserver;
244the fingerprint is: '88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4'.
245
246
24711. Credits
248===========
249- Informations about the chip internals needed to enable the I2C protocol have
250 been taken from the documentation of the ZC030x Video4Linux1 driver written
251 by Andrew Birkett <andy@nobugs.org>;
252- The initialization values of the ZC0301 controller connected to the PAS202BCB
253 image sensor have been taken from the SPCA5XX driver maintained by
254 Michel Xhaard <mxhaard@magic.fr>.
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88
index 8bea3fbd0548..3b39a91b24bd 100644
--- a/Documentation/video4linux/CARDLIST.cx88
+++ b/Documentation/video4linux/CARDLIST.cx88
@@ -43,3 +43,5 @@
43 42 -> digitalnow DNTV Live! DVB-T Pro [1822:0025] 43 42 -> digitalnow DNTV Live! DVB-T Pro [1822:0025]
44 43 -> KWorld/VStream XPert DVB-T with cx22702 [17de:08a1] 44 43 -> KWorld/VStream XPert DVB-T with cx22702 [17de:08a1]
45 44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50,18ac:db54] 45 44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50,18ac:db54]
46 45 -> KWorld HardwareMpegTV XPert [17de:0840]
47 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44]
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx
index a0c7cad20971..a3026689bbe6 100644
--- a/Documentation/video4linux/CARDLIST.em28xx
+++ b/Documentation/video4linux/CARDLIST.em28xx
@@ -8,3 +8,4 @@
8 7 -> Leadtek Winfast USB II (em2800) 8 7 -> Leadtek Winfast USB II (em2800)
9 8 -> Kworld USB2800 (em2800) 9 8 -> Kworld USB2800 (em2800)
10 9 -> Pinnacle Dazzle DVC 90 (em2820/em2840) [2304:0207] 10 9 -> Pinnacle Dazzle DVC 90 (em2820/em2840) [2304:0207]
11 12 -> Kworld PVR TV 2800 RF (em2820/em2840)
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index da4fb890165f..8c7195455963 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -83,3 +83,12 @@
83 82 -> MSI TV@Anywhere plus [1462:6231] 83 82 -> MSI TV@Anywhere plus [1462:6231]
84 83 -> Terratec Cinergy 250 PCI TV [153b:1160] 84 83 -> Terratec Cinergy 250 PCI TV [153b:1160]
85 84 -> LifeView FlyDVB Trio [5168:0319] 85 84 -> LifeView FlyDVB Trio [5168:0319]
86 85 -> AverTV DVB-T 777 [1461:2c05]
87 86 -> LifeView FlyDVB-T [5168:0301]
88 87 -> ADS Instant TV Duo Cardbus PTV331 [0331:1421]
89 88 -> Tevion/KWorld DVB-T 220RF [17de:7201]
90 89 -> ELSA EX-VISION 700TV [1048:226c]
91 90 -> Kworld ATSC110 [17de:7350]
92 91 -> AVerMedia A169 B [1461:7360]
93 92 -> AVerMedia A169 B1 [1461:6360]
94 93 -> Medion 7134 Bridge #2 [16be:0005]
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner
index f6d0cf7b7922..1bcdac67dd8c 100644
--- a/Documentation/video4linux/CARDLIST.tuner
+++ b/Documentation/video4linux/CARDLIST.tuner
@@ -64,8 +64,10 @@ tuner=62 - Philips TEA5767HN FM Radio
64tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner 64tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner
65tuner=64 - LG TDVS-H062F/TUA6034 65tuner=64 - LG TDVS-H062F/TUA6034
66tuner=65 - Ymec TVF66T5-B/DFF 66tuner=65 - Ymec TVF66T5-B/DFF
67tuner=66 - LG NTSC (TALN mini series) 67tuner=66 - LG TALN series
68tuner=67 - Philips TD1316 Hybrid Tuner 68tuner=67 - Philips TD1316 Hybrid Tuner
69tuner=68 - Philips TUV1236D ATSC/NTSC dual in 69tuner=68 - Philips TUV1236D ATSC/NTSC dual in
70tuner=69 - Tena TNF 5335 MF 70tuner=69 - Tena TNF 5335 and similar models
71tuner=70 - Samsung TCPN 2121P30A 71tuner=70 - Samsung TCPN 2121P30A
72tuner=71 - Xceive xc3028
73tuner=72 - Thomson FE6600
diff --git a/Documentation/video4linux/README.cpia2 b/Documentation/video4linux/README.cpia2
new file mode 100644
index 000000000000..ce8213d28b67
--- /dev/null
+++ b/Documentation/video4linux/README.cpia2
@@ -0,0 +1,130 @@
1$Id: README,v 1.7 2005/08/29 23:39:57 sbertin Exp $
2
31. Introduction
4
5 This is a driver for STMicroelectronics's CPiA2 (second generation
6Colour Processor Interface ASIC) based cameras. This camera outputs an MJPEG
7stream at up to vga size. It implements the Video4Linux interface as much as
8possible. Since the V4L interface does not support compressed formats, only
9an mjpeg enabled application can be used with the camera. We have modified the
10gqcam application to view this stream.
11
12 The driver is implemented as two kernel modules. The cpia2 module
13contains the camera functions and the V4L interface. The cpia2_usb module
14contains usb specific functions. The main reason for this was the size of the
15module was getting out of hand, so I separted them. It is not likely that
16there will be a parallel port version.
17
18FEATURES:
19 - Supports cameras with the Vision stv6410 (CIF) and stv6500 (VGA) cmos
20 sensors. I only have the vga sensor, so can't test the other.
21 - Image formats: VGA, QVGA, CIF, QCIF, and a number of sizes in between.
22 VGA and QVGA are the native image sizes for the VGA camera. CIF is done
23 in the coprocessor by scaling QVGA. All other sizes are done by clipping.
24 - Palette: YCrCb, compressed with MJPEG.
25 - Some compression parameters are settable.
26 - Sensor framerate is adjustable (up to 30 fps CIF, 15 fps VGA).
27 - Adjust brightness, color, contrast while streaming.
28 - Flicker control settable for 50 or 60 Hz mains frequency.
29
302. Making and installing the stv672 driver modules:
31
32 Requirements:
33 -------------
34 This should work with 2.4 (2.4.23 and later) and 2.6 kernels, but has
35only been tested on 2.6. Video4Linux must be either compiled into the kernel or
36available as a module. Video4Linux2 is automatically detected and made
37available at compile time.
38
39 Compiling:
40 ----------
41 As root, do a make install. This will compile and install the modules
42into the media/video directory in the module tree. For 2.4 kernels, use
43Makefile_2.4 (aka do make -f Makefile_2.4 install).
44
45 Setup:
46 ------
47 Use 'modprobe cpia2' to load and 'modprobe -r cpia2' to unload. This
48may be done automatically by your distribution.
49
503. Driver options
51
52 Option Description
53 ------ -----------
54 video_nr video device to register (0=/dev/video0, etc)
55 range -1 to 64. default is -1 (first available)
56 If you have more than 1 camera, this MUST be -1.
57 buffer_size Size for each frame buffer in bytes (default 68k)
58 num_buffers Number of frame buffers (1-32, default 3)
59 alternate USB Alternate (2-7, default 7)
60 flicker_freq Frequency for flicker reduction(50 or 60, default 60)
61 flicker_mode 0 to disable, or 1 to enable flicker reduction.
62 (default 0). This is only effective if the camera
63 uses a stv0672 coprocessor.
64
65 Setting the options:
66 --------------------
67 If you are using modules, edit /etc/modules.conf and add an options
68line like this:
69 options cpia2 num_buffers=3 buffer_size=65535
70
71 If the driver is compiled into the kernel, at boot time specify them
72like this:
73 cpia2.num_buffers=3 cpia2.buffer_size=65535
74
75 What buffer size should I use?
76 ------------------------------
77 The maximum image size depends on the alternate you choose, and the
78frame rate achieved by the camera. If the compression engine is able to
79keep up with the frame rate, the maximum image size is given by the table
80below.
81 The compression engine starts out at maximum compression, and will
82increase image quality until it is close to the size in the table. As long
83as the compression engine can keep up with the frame rate, after a short time
84the images will all be about the size in the table, regardless of resolution.
85 At low alternate settings, the compression engine may not be able to
86compress the image enough and will reduce the frame rate by producing larger
87images.
88 The default of 68k should be good for most users. This will handle
89any alternate at frame rates down to 15fps. For lower frame rates, it may
90be necessary to increase the buffer size to avoid having frames dropped due
91to insufficient space.
92
93 Image size(bytes)
94 Alternate bytes/ms 15fps 30fps
95 2 128 8533 4267
96 3 384 25600 12800
97 4 640 42667 21333
98 5 768 51200 25600
99 6 896 59733 29867
100 7 1023 68200 34100
101
102 How many buffers should I use?
103 ------------------------------
104 For normal streaming, 3 should give the best results. With only 2,
105it is possible for the camera to finish sending one image just after a
106program has started reading the other. If this happens, the driver must drop
107a frame. The exception to this is if you have a heavily loaded machine. In
108this case use 2 buffers. You are probably not reading at the full frame rate.
109If the camera can send multiple images before a read finishes, it could
110overwrite the third buffer before the read finishes, leading to a corrupt
111image. Single and double buffering have extra checks to avoid overwriting.
112
1134. Using the camera
114
115 We are providing a modified gqcam application to view the output. In
116order to avoid confusion, here it is called mview. There is also the qx5view
117program which can also control the lights on the qx5 microscope. MJPEG Tools
118(http://mjpeg.sourceforge.net) can also be used to record from the camera.
119
1205. Notes to developers:
121
122 - This is a driver version stripped of the 2.4 back compatibility
123 and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support.
124
1256. Thanks:
126
127 - Peter Pregler <Peter_Pregler@email.com>,
128 Scott J. Bertin <scottbertin@yahoo.com>, and
129 Jarl Totland <Jarl.Totland@bdc.no> for the original cpia driver, which
130 this one was modelled from.
diff --git a/Documentation/video4linux/cpia2_overview.txt b/Documentation/video4linux/cpia2_overview.txt
new file mode 100644
index 000000000000..a6e53665216b
--- /dev/null
+++ b/Documentation/video4linux/cpia2_overview.txt
@@ -0,0 +1,38 @@
1 Programmer's View of Cpia2
2
3Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
4division of ST Microelectronics). There are two versions. The first is the
5STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
6up to CIF, and 15 fps for VGA frames. The STV0676 is an improved version,
7which can handle up to 30 fps VGA. Both coprocessors can be attached to two
8CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor. These will
9be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
10
11The two chipsets operate almost identically. The core is an 8051 processor,
12running two different versions of firmware. The 672 runs the VP4 video
13processor code, the 676 runs VP5. There are a few differences in register
14mappings for the two chips. In these cases, the symbols defined in the
15header files are marked with VP4 or VP5 as part of the symbol name.
16
17The cameras appear externally as three sets of registers. Setting register
18values is the only way to control the camera. Some settings are
19interdependant, such as the sequence required to power up the camera. I will
20try to make note of all of these cases.
21
22The register sets are called blocks. Block 0 is the system block. This
23section is always powered on when the camera is plugged in. It contains
24registers that control housekeeping functions such as powering up the video
25processor. The video processor is the VP block. These registers control
26how the video from the sensor is processed. Examples are timing registers,
27user mode (vga, qvga), scaling, cropping, framerates, and so on. The last
28block is the video compressor (VC). The video stream sent from the camera is
29compressed as Motion JPEG (JPEGA). The VC controls all of the compression
30parameters. Looking at the file cpia2_registers.h, you can get a full view
31of these registers and the possible values for most of them.
32
33One or more registers can be set or read by sending a usb control message to
34the camera. There are three modes for this. Block mode requests a number
35of contiguous registers. Random mode reads or writes random registers with
36a tuple structure containing address/value pairs. The repeat mode is only
37used by VP4 to load a firmware patch. It contains a starting address and
38a sequence of bytes to be written into a gpio port. \ No newline at end of file
diff --git a/Documentation/vm/page_migration b/Documentation/vm/page_migration
index c52820fcf500..0dd4ef30c361 100644
--- a/Documentation/vm/page_migration
+++ b/Documentation/vm/page_migration
@@ -12,12 +12,18 @@ is running.
12 12
13Page migration allows a process to manually relocate the node on which its 13Page migration allows a process to manually relocate the node on which its
14pages are located through the MF_MOVE and MF_MOVE_ALL options while setting 14pages are located through the MF_MOVE and MF_MOVE_ALL options while setting
15a new memory policy. The pages of process can also be relocated 15a new memory policy via mbind(). The pages of process can also be relocated
16from another process using the sys_migrate_pages() function call. The 16from another process using the sys_migrate_pages() function call. The
17migrate_pages function call takes two sets of nodes and moves pages of a 17migrate_pages function call takes two sets of nodes and moves pages of a
18process that are located on the from nodes to the destination nodes. 18process that are located on the from nodes to the destination nodes.
19 19Page migration functions are provided by the numactl package by Andi Kleen
20Manual migration is very useful if for example the scheduler has relocated 20(a version later than 0.9.3 is required. Get it from
21ftp://ftp.suse.com/pub/people/ak). numactl provided libnuma which
22provides an interface similar to other numa functionality for page migration.
23cat /proc/<pid>/numa_maps allows an easy review of where the pages of
24a process are located. See also the numa_maps manpage in the numactl package.
25
26Manual migration is useful if for example the scheduler has relocated
21a process to a processor on a distant node. A batch scheduler or an 27a process to a processor on a distant node. A batch scheduler or an
22administrator may detect the situation and move the pages of the process 28administrator may detect the situation and move the pages of the process
23nearer to the new processor. At some point in the future we may have 29nearer to the new processor. At some point in the future we may have
@@ -25,10 +31,12 @@ some mechanism in the scheduler that will automatically move the pages.
25 31
26Larger installations usually partition the system using cpusets into 32Larger installations usually partition the system using cpusets into
27sections of nodes. Paul Jackson has equipped cpusets with the ability to 33sections of nodes. Paul Jackson has equipped cpusets with the ability to
28move pages when a task is moved to another cpuset. This allows automatic 34move pages when a task is moved to another cpuset (See ../cpusets.txt).
29control over locality of a process. If a task is moved to a new cpuset 35Cpusets allows the automation of process locality. If a task is moved to
30then also all its pages are moved with it so that the performance of the 36a new cpuset then also all its pages are moved with it so that the
31process does not sink dramatically (as is the case today). 37performance of the process does not sink dramatically. Also the pages
38of processes in a cpuset are moved if the allowed memory nodes of a
39cpuset are changed.
32 40
33Page migration allows the preservation of the relative location of pages 41Page migration allows the preservation of the relative location of pages
34within a group of nodes for all migration techniques which will preserve a 42within a group of nodes for all migration techniques which will preserve a
@@ -37,22 +45,26 @@ process. This is necessary in order to preserve the memory latencies.
37Processes will run with similar performance after migration. 45Processes will run with similar performance after migration.
38 46
39Page migration occurs in several steps. First a high level 47Page migration occurs in several steps. First a high level
40description for those trying to use migrate_pages() and then 48description for those trying to use migrate_pages() from the kernel
41a low level description of how the low level details work. 49(for userspace usage see the Andi Kleen's numactl package mentioned above)
50and then a low level description of how the low level details work.
42 51
43A. Use of migrate_pages() 52A. In kernel use of migrate_pages()
44------------------------- 53-----------------------------------
45 54
461. Remove pages from the LRU. 551. Remove pages from the LRU.
47 56
48 Lists of pages to be migrated are generated by scanning over 57 Lists of pages to be migrated are generated by scanning over
49 pages and moving them into lists. This is done by 58 pages and moving them into lists. This is done by
50 calling isolate_lru_page() or __isolate_lru_page(). 59 calling isolate_lru_page().
51 Calling isolate_lru_page increases the references to the page 60 Calling isolate_lru_page increases the references to the page
52 so that it cannot vanish under us. 61 so that it cannot vanish while the page migration occurs.
62 It also prevents the swapper or other scans to encounter
63 the page.
53 64
542. Generate a list of newly allocates page to move the contents 652. Generate a list of newly allocates page. These pages will contain the
55 of the first list to. 66 contents of the pages from the first list after page migration is
67 complete.
56 68
573. The migrate_pages() function is called which attempts 693. The migrate_pages() function is called which attempts
58 to do the migration. It returns the moved pages in the 70 to do the migration. It returns the moved pages in the
@@ -63,13 +75,17 @@ A. Use of migrate_pages()
634. The leftover pages of various types are returned 754. The leftover pages of various types are returned
64 to the LRU using putback_to_lru_pages() or otherwise 76 to the LRU using putback_to_lru_pages() or otherwise
65 disposed of. The pages will still have the refcount as 77 disposed of. The pages will still have the refcount as
66 increased by isolate_lru_pages()! 78 increased by isolate_lru_pages() if putback_to_lru_pages() is not
79 used! The kernel may want to handle the various cases of failures in
80 different ways.
67 81
68B. Operation of migrate_pages() 82B. How migrate_pages() works
69-------------------------------- 83----------------------------
70 84
71migrate_pages does several passes over its list of pages. A page is moved 85migrate_pages() does several passes over its list of pages. A page is moved
72if all references to a page are removable at the time. 86if all references to a page are removable at the time. The page has
87already been removed from the LRU via isolate_lru_page() and the refcount
88is increased so that the page cannot be freed while page migration occurs.
73 89
74Steps: 90Steps:
75 91
@@ -79,36 +95,40 @@ Steps:
79 95
803. Make sure that the page has assigned swap cache entry if 963. Make sure that the page has assigned swap cache entry if
81 it is an anonyous page. The swap cache reference is necessary 97 it is an anonyous page. The swap cache reference is necessary
82 to preserve the information contain in the page table maps. 98 to preserve the information contain in the page table maps while
99 page migration occurs.
83 100
844. Prep the new page that we want to move to. It is locked 1014. Prep the new page that we want to move to. It is locked
85 and set to not being uptodate so that all accesses to the new 102 and set to not being uptodate so that all accesses to the new
86 page immediately lock while we are moving references. 103 page immediately lock while the move is in progress.
87 104
885. All the page table references to the page are either dropped (file backed) 1055. All the page table references to the page are either dropped (file
89 or converted to swap references (anonymous pages). This should decrease the 106 backed pages) or converted to swap references (anonymous pages).
90 reference count. 107 This should decrease the reference count.
91 108
926. The radix tree lock is taken 1096. The radix tree lock is taken. This will cause all processes trying
110 to reestablish a pte to block on the radix tree spinlock.
93 111
947. The refcount of the page is examined and we back out if references remain 1127. The refcount of the page is examined and we back out if references remain
95 otherwise we know that we are the only one referencing this page. 113 otherwise we know that we are the only one referencing this page.
96 114
978. The radix tree is checked and if it does not contain the pointer to this 1158. The radix tree is checked and if it does not contain the pointer to this
98 page then we back out. 116 page then we back out because someone else modified the mapping first.
99 117
1009. The mapping is checked. If the mapping is gone then a truncate action may 1189. The mapping is checked. If the mapping is gone then a truncate action may
101 be in progress and we back out. 119 be in progress and we back out.
102 120
10310. The new page is prepped with some settings from the old page so that accesses 12110. The new page is prepped with some settings from the old page so that
104 to the new page will be discovered to have the correct settings. 122 accesses to the new page will be discovered to have the correct settings.
105 123
10611. The radix tree is changed to point to the new page. 12411. The radix tree is changed to point to the new page.
107 125
10812. The reference count of the old page is dropped because the reference has now 12612. The reference count of the old page is dropped because the radix tree
109 been removed. 127 reference is gone.
110 128
11113. The radix tree lock is dropped. 12913. The radix tree lock is dropped. With that lookups become possible again
130 and other processes will move from spinning on the tree lock to sleeping on
131 the locked new page.
112 132
11314. The page contents are copied to the new page. 13314. The page contents are copied to the new page.
114 134
@@ -119,11 +139,37 @@ Steps:
119 139
12017. Queued up writeback on the new page is triggered. 14017. Queued up writeback on the new page is triggered.
121 141
12218. If swap pte's were generated for the page then remove them again. 14218. If swap pte's were generated for the page then replace them with real
143 ptes. This will reenable access for processes not blocked by the page lock.
144
14519. The page locks are dropped from the old and new page.
146 Processes waiting on the page lock can continue.
147
14820. The new page is moved to the LRU and can be scanned by the swapper
149 etc again.
150
151TODO list
152---------
153
154- Page migration requires the use of swap handles to preserve the
155 information of the anonymous page table entries. This means that swap
156 space is reserved but never used. The maximum number of swap handles used
157 is determined by CHUNK_SIZE (see mm/mempolicy.c) per ongoing migration.
158 Reservation of pages could be avoided by having a special type of swap
159 handle that does not require swap space and that would only track the page
160 references. Something like that was proposed by Marcelo Tosatti in the
161 past (search for migration cache on lkml or linux-mm@kvack.org).
123 162
12419. The locks are dropped from the old and new page. 163- Page migration unmaps ptes for file backed pages and requires page
164 faults to reestablish these ptes. This could be optimized by somehow
165 recording the references before migration and then reestablish them later.
166 However, there are several locking challenges that have to be overcome
167 before this is possible.
125 168
12620. The new page is moved to the LRU. 169- Page migration generates read ptes for anonymous pages. Dirty page
170 faults are required to make the pages writable again. It may be possible
171 to generate a pte marked dirty if it is known that the page is dirty and
172 that this process has the only reference to that page.
127 173
128Christoph Lameter, December 19, 2005. 174Christoph Lameter, March 8, 2006.
129 175