Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 22682
b: refs/heads/master
c: 34226c4
h: refs/heads/master
v: v3
  • Loading branch information
Takashi Iwai authored and Jaroslav Kysela committed Mar 22, 2006
1 parent 17d7d5c commit 1c3e4d7
Show file tree
Hide file tree
Showing 1,270 changed files with 76,709 additions and 94,548 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8b4b6707ee32f929846d947d18b1b9bf42e988aa
refs/heads/master: 34226c4239861654c69888e6e98973b2cc908c0b
3 changes: 0 additions & 3 deletions trunk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#
# Top-level generic files
#
tags
vmlinux*
System.map
Module.symvers
Expand All @@ -31,5 +30,3 @@ include/linux/autoconf.h
include/linux/compile.h
include/linux/version.h

# stgit generated dirs
patches-*
2 changes: 0 additions & 2 deletions trunk/CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -2813,8 +2813,6 @@ E: luca.risolia@studio.unibo.it
P: 1024D/FCE635A4 88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4
D: V4L driver for W996[87]CF JPEG USB Dual Mode Camera Chips
D: V4L2 driver for SN9C10x PC Camera Controllers
D: V4L2 driver for ET61X151 and ET61X251 PC Camera Controllers
D: V4L2 driver for ZC0301 Image Processor and Control Chip
S: Via Liberta' 41/A
S: Osio Sotto, 24046, Bergamo
S: Italy
Expand Down
113 changes: 0 additions & 113 deletions trunk/Documentation/BUG-HUNTING
Original file line number Diff line number Diff line change
@@ -1,56 +1,3 @@
Table of contents
=================

Last updated: 20 December 2005

Contents
========

- Introduction
- Devices not appearing
- Finding patch that caused a bug
-- Finding using git-bisect
-- Finding it the old way
- Fixing the bug

Introduction
============

Always try the latest kernel from kernel.org and build from source. If you are
not confident in doing that please report the bug to your distribution vendor
instead of to a kernel developer.

Finding bugs is not always easy. Have a go though. If you can't find it don't
give up. Report as much as you have found to the relevant maintainer. See
MAINTAINERS for who that is for the subsystem you have worked on.

Before you submit a bug report read REPORTING-BUGS.

Devices not appearing
=====================

Often this is caused by udev. Check that first before blaming it on the
kernel.

Finding patch that caused a bug
===============================



Finding using git-bisect
------------------------

Using the provided tools with git makes finding bugs easy provided the bug is
reproducible.

Steps to do it:
- start using git for the kernel source
- read the man page for git-bisect
- have fun

Finding it the old way
----------------------

[Sat Mar 2 10:32:33 PST 1996 KERNEL_BUG-HOWTO lm@sgi.com (Larry McVoy)]

This is how to track down a bug if you know nothing about kernel hacking.
Expand Down Expand Up @@ -143,63 +90,3 @@ it does work and it lets non-hackers help fix bugs. And it is cool
because Linux snapshots will let you do this - something that you can't
do with vendor supplied releases.

Fixing the bug
==============

Nobody is going to tell you how to fix bugs. Seriously. You need to work it
out. But below are some hints on how to use the tools.

To debug a kernel, use objdump and look for the hex offset from the crash
output to find the valid line of code/assembler. Without debug symbols, you
will see the assembler code for the routine shown, but if your kernel has
debug symbols the C code will also be available. (Debug symbols can be enabled
in the kernel hacking menu of the menu configuration.) For example:

objdump -r -S -l --disassemble net/dccp/ipv4.o

NB.: you need to be at the top level of the kernel tree for this to pick up
your C files.

If you don't have access to the code you can also debug on some crash dumps
e.g. crash dump output as shown by Dave Miller.

> EIP is at ip_queue_xmit+0x14/0x4c0
> ...
> Code: 44 24 04 e8 6f 05 00 00 e9 e8 fe ff ff 8d 76 00 8d bc 27 00 00
> 00 00 55 57 56 53 81 ec bc 00 00 00 8b ac 24 d0 00 00 00 8b 5d 08
> <8b> 83 3c 01 00 00 89 44 24 14 8b 45 28 85 c0 89 44 24 18 0f 85
>
> Put the bytes into a "foo.s" file like this:
>
> .text
> .globl foo
> foo:
> .byte .... /* bytes from Code: part of OOPS dump */
>
> Compile it with "gcc -c -o foo.o foo.s" then look at the output of
> "objdump --disassemble foo.o".
>
> Output:
>
> ip_queue_xmit:
> push %ebp
> push %edi
> push %esi
> push %ebx
> sub $0xbc, %esp
> mov 0xd0(%esp), %ebp ! %ebp = arg0 (skb)
> mov 0x8(%ebp), %ebx ! %ebx = skb->sk
> mov 0x13c(%ebx), %eax ! %eax = inet_sk(sk)->opt

Another very useful option of the Kernel Hacking section in menuconfig is
Debug memory allocations. This will help you see whether data has been
initialised and not set before use etc. To see the values that get assigned
with this look at mm/slab.c and search for POISON_INUSE. When using this an
Oops will often show the poisoned data instead of zero which is the default.

Once you have worked out a fix please submit it upstream. After all open
source is about sharing what you do and don't you want to be recognised for
your genius?

Please do read Documentation/SubmittingPatches though to help your code get
accepted.
18 changes: 18 additions & 0 deletions trunk/Documentation/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,24 @@ and therefore owes credit to the same people as that file (Jared Mauch,
Axel Boldt, Alessandro Sigala, and countless other users all over the
'net).

The latest revision of this document, in various formats, can always
be found at <http://cyberbuzz.gatech.edu/kaboom/linux/Changes-2.4/>.

Feel free to translate this document. If you do so, please send me a
URL to your translation for inclusion in future revisions of this
document.

Smotrite file <http://oblom.rnc.ru/linux/kernel/Changes.ru>, yavlyaushisya
russkim perevodom dannogo documenta.

Visite <http://www2.adi.uam.es/~ender/tecnico/> para obtener la traducci�n
al espa�ol de este documento en varios formatos.

Eine deutsche Version dieser Datei finden Sie unter
<http://www.stefan-winter.de/Changes-2.4.0.txt>.

Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).

Current Minimal Requirements
============================

Expand Down
5 changes: 2 additions & 3 deletions trunk/Documentation/connector/connector.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,10 @@ Unregisters new callback with connector core.

struct cb_id *id - unique connector's user identifier.

int cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);
void cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);

Sends message to the specified groups. It can be safely called from
softirq context, but may silently fail under strong memory pressure.
If there are no listeners for given group -ESRCH can be returned.
any context, but may silently fail under strong memory pressure.

struct cn_msg * - message header(with attached data).
u32 __group - destination group.
Expand Down
10 changes: 7 additions & 3 deletions trunk/Documentation/dvb/avermedia.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

HOWTO: Get An Avermedia DVB-T working under Linux
______________________________________________

Expand Down Expand Up @@ -136,8 +137,11 @@ Getting the card going
To power up the card, load the following modules in the
following order:

* modprobe bttv (normally loaded automatically)
* modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
* insmod dvb-core.o
* modprobe bttv.o
* insmod bt878.o
* insmod dvb-bt8xx.o
* insmod sp887x.o

Insertion of these modules into the running kernel will
activate the appropriate DVB device nodes. It is then possible
Expand Down Expand Up @@ -298,4 +302,4 @@ Further Update
Many thanks to Nigel Pearson for the updates to this document
since the recent revision of the driver.

February 14th 2006
January 29th 2004
140 changes: 90 additions & 50 deletions trunk/Documentation/dvb/bt8xx.txt
Original file line number Diff line number Diff line change
@@ -1,78 +1,118 @@
How to get the bt8xx cards working
==================================
How to get the Nebula, PCTV, FusionHDTV Lite and Twinhan DST cards working
==========================================================================

1) General information
======================
This class of cards has a bt878a as the PCI interface, and
require the bttv driver.

This class of cards has a bt878a as the PCI interface, and require the bttv driver
for accessing the i2c bus and the gpio pins of the bt8xx chipset.
Please see Documentation/dvb/cards.txt => o Cards based on the Conexant Bt8xx PCI bridge:
Please pay close attention to the warning about the bttv module
options below for the DST card.

Compiling kernel please enable:
a.)"Device drivers" => "Multimedia devices" => "Video For Linux" => "BT848 Video For Linux"
b.)"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
=> "DVB for Linux" "DVB Core Support" "Bt8xx based PCI Cards"
1) General informations
=======================

These drivers require the bttv driver to provide the means to access
the i2c bus and the gpio pins of the bt8xx chipset.

Because of this, you need to enable
"Device drivers" => "Multimedia devices"
=> "Video For Linux" => "BT848 Video For Linux"

Furthermore you need to enable
"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
=> "DVB for Linux" "DVB Core Support" "BT8xx based PCI cards"

2) Loading Modules
==================

In default cases bttv is loaded automatically.
To load the backend either place dvb-bt8xx in etc/modules, or apply manually:
In general you need to load the bttv driver, which will handle the gpio and
i2c communication for us, plus the common dvb-bt8xx device driver.
The frontends for Nebula (nxt6000), Pinnacle PCTV (cx24110), TwinHan (dst),
FusionHDTV DVB-T Lite (mt352) and FusionHDTV5 Lite (lgdt330x) are loaded
automatically by the dvb-bt8xx device driver.

3a) Nebula / Pinnacle PCTV / FusionHDTV Lite
---------------------------------------------

$ modprobe bttv (normally bttv is being loaded automatically by kmod)
$ modprobe dvb-bt8xx

(or just place dvb-bt8xx in /etc/modules for automatic loading)


3b) TwinHan and Clones
--------------------------

$ modprobe dvb-bt8xx
$ modprobe bttv card=0x71
$ modprobe dvb-bt8xx
$ modprobe dst

All frontends will be loaded automatically.
People running udev please see Documentation/dvb/udev.txt.
The value 0x71 will override the PCI type detection for dvb-bt8xx,
which is necessary for TwinHan cards. Omission of this parameter might result
in a system lockup.

In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary:
If you're having an older card (blue color PCB) and card=0x71 locks up
your machine, try using 0x68, too. If that does not work, ask on the
mailing list.

2a) Running TwinHan and Clones
------------------------------
The DST module takes a couple of useful parameters.

$ modprobe bttv card=113
$ modprobe dvb-bt8xx
$ modprobe dst
verbose takes values 0 to 4. These values control the verbosity level,
and can be used to debug also.

Useful parameters for verbosity level and debugging the dst module:
verbose=0 means complete disabling of messages
1 only error messages are displayed
2 notifications are also displayed
3 informational messages are also displayed
4 debug setting

verbose=0: messages are disabled
1: only error messages are displayed
2: notifications are displayed
3: other useful messages are displayed
4: debug setting
dst_addons=0: card is a free to air (FTA) card only
0x20: card has a conditional access slot for scrambled channels
dst_addons takes values 0 and 0x20. A value of 0 means it is a FTA card.
0x20 means it has a Conditional Access slot.

The autodetected values are determined by the cards' "response string".
In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
For bug reports please send in a complete log with verbose=4 activated.
Please also see Documentation/dvb/ci.txt.
The autodetected values are determined by the cards 'response string'
which you can see in your logs e.g.

2b) Running multiple cards
dst_get_device_id: Recognise [DSTMCI]

If you need to sent in bug reports on the dst, please do send in a complete
log with the verbose=4 module parameter. For general usage, the default setting
of verbose=1 is ideal.


4) Multiple cards
--------------------------

Examples of card ID's:
If you happen to be running multiple cards, it would be advisable to load
the bttv module with the card id. This would help to solve any module loading
problems that you might face.

For example, if you have a Twinhan and Clones card along with a FusionHDTV5 Lite

Pinnacle PCTV Sat: 94
Nebula Electronics Digi TV: 104
pcHDTV HD-2000 TV: 112
Twinhan DST and clones: 113
Avermedia AverTV DVB-T 771: 123
Avermedia AverTV DVB-T 761: 124
DViCO FusionHDTV DVB-T Lite: 128
DViCO FusionHDTV 5 Lite: 135
$ modprobe bttv card=0x71 card=0x87

Here the order of the card id is important and should be the same as that of the
physical order of the cards. Here card=0x71 represents the Twinhan and clones
and card=0x87 represents Fusion HDTV5 Lite. These arguments can also be
specified in decimal, rather than hex:

Notice: The order of the card ID should be uprising:
Example:
$ modprobe bttv card=113 card=135
$ modprobe dvb-bt8xx

For a full list of card ID's please see Documentation/video4linux/CARDLIST.bttv.
In case of further problems send questions to the mailing list: www.linuxdvb.org.
Some examples of card-id's

Pinnacle Sat 0x5e (94)
Nebula Digi TV 0x68 (104)
PC HDTV 0x70 (112)
Twinhan 0x71 (113)
FusionHDTV DVB-T Lite 0x80 (128)
FusionHDTV5 Lite 0x87 (135)

For a full list of card-id's, see the V4L Documentation within the kernel
source: linux/Documentation/video4linux/CARDLIST.bttv

If you have problems with this please do ask on the mailing list.

--
Authors: Richard Walker,
Jamie Honan,
Michael Hunold,
Manu Abraham,
Uwe Bugla,
Michael Krufky
Loading

0 comments on commit 1c3e4d7

Please sign in to comment.