aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sound/oss
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2007-07-16 02:39:01 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 12:05:40 -0400
commitb5d425c97f7d4e92151167b01ca038e7853c6b37 (patch)
treee2a888ad0e79325b3eecd60738ddd92aba770ebf /Documentation/sound/oss
parent786d7e1612f0b0adb6046f19b906609e4fe8b1ba (diff)
more scheduled OSS driver removal
This patch contains the scheduled removal of OSS drivers that: - have ALSA drivers for the same hardware without known regressions and - whose Kconfig options have been removed in 2.6.20. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/sound/oss')
-rw-r--r--Documentation/sound/oss/AD181684
-rw-r--r--Documentation/sound/oss/NM256280
-rw-r--r--Documentation/sound/oss/OPL3-SA2210
-rw-r--r--Documentation/sound/oss/VIA-chipset43
-rw-r--r--Documentation/sound/oss/cs46xx138
5 files changed, 0 insertions, 755 deletions
diff --git a/Documentation/sound/oss/AD1816 b/Documentation/sound/oss/AD1816
deleted file mode 100644
index 14bd8f25d523..000000000000
--- a/Documentation/sound/oss/AD1816
+++ /dev/null
@@ -1,84 +0,0 @@
1Documentation for the AD1816(A) sound driver
2============================================
3
4Installation:
5-------------
6
7To get your AD1816(A) based sound card work, you'll have to enable support for
8experimental code ("Prompt for development and/or incomplete code/drivers")
9and isapnp ("Plug and Play support", "ISA Plug and Play support"). Enable
10"Sound card support", "OSS modules support" and "Support for AD1816(A) based
11cards (EXPERIMENTAL)" in the sound configuration menu, too. Now build, install
12and reboot the new kernel as usual.
13
14Features:
15---------
16
17List of features supported by this driver:
18- full-duplex support
19- supported audio formats: unsigned 8bit, signed 16bit little endian,
20 signed 16bit big endian, µ-law, A-law
21- supported channels: mono and stereo
22- supported recording sources: Master, CD, Line, Line1, Line2, Mic
23- supports phat 3d stereo circuit (Line 3)
24
25
26Supported cards:
27----------------
28
29The following cards are known to work with this driver:
30- Terratec Base 1
31- Terratec Base 64
32- HP Kayak
33- Acer FX-3D
34- SY-1816
35- Highscreen Sound-Boostar 32 Wave 3D
36- Highscreen Sound-Boostar 16
37- AVM Apex Pro card
38- (Aztech SC-16 3D)
39- (Newcom SC-16 3D)
40- (Terratec EWS64S)
41
42Cards listed in brackets are not supported reliable. If you have such a card
43you should add the extra parameter:
44 options=1
45when loading the ad1816 module via modprobe.
46
47
48Troubleshooting:
49----------------
50
51First of all you should check, if the driver has been loaded
52properly.
53
54If loading of the driver succeeds, but playback/capture fails, check
55if you used the correct values for irq, dma and dma2 when loading the module.
56If one of them is wrong you usually get the following error message:
57
58Nov 6 17:06:13 tek01 kernel: Sound: DMA (output) timed out - IRQ/DRQ config error?
59
60If playback/capture is too fast or to slow, you should have a look at
61the clock chip of your sound card. The AD1816 was designed for a 33MHz
62oscillator, however most sound card manufacturer use slightly
63different oscillators as they are cheaper than 33MHz oscillators. If
64you have such a card you have to adjust the ad1816_clockfreq parameter
65above. For example: For a card using a 32.875MHz oscillator use
66ad1816_clockfreq=32875 instead of ad1816_clockfreq=33000.
67
68
69Updates, bugfixes and bugreports:
70--------------------------------
71
72As the driver is still experimental and under development, you should
73watch out for updates. Updates of the driver are available on the
74Internet from one of my home pages:
75 http://www.student.informatik.tu-darmstadt.de/~tek/projects/linux.html
76or:
77 http://www.tu-darmstadt.de/~tek01/projects/linux.html
78
79Bugreports, bugfixes and related questions should be sent via E-Mail to:
80 tek@rbg.informatik.tu-darmstadt.de
81
82Thorsten Knabe <tek@rbg.informatik.tu-darmstadt.de>
83Christoph Hellwig <hch@infradead.org>
84 Last modified: 2000/09/20
diff --git a/Documentation/sound/oss/NM256 b/Documentation/sound/oss/NM256
deleted file mode 100644
index b503217488b3..000000000000
--- a/Documentation/sound/oss/NM256
+++ /dev/null
@@ -1,280 +0,0 @@
1=======================================================
2Documentation for the NeoMagic 256AV/256ZX sound driver
3=======================================================
4
5You're looking at version 1.1 of the driver. (Woohoo!) It has been
6successfully tested against the following laptop models:
7
8 Sony Z505S/Z505SX/Z505DX/Z505RX
9 Sony F150, F160, F180, F250, F270, F280, PCG-F26
10 Dell Latitude CPi, CPt (various submodels)
11
12There are a few caveats, which is why you should read the entirety of
13this document first.
14
15This driver was developed without any support or assistance from
16NeoMagic. There is no warranty, expressed, implied, or otherwise. It
17is free software in the public domain; feel free to use it, sell it,
18give it to your best friends, even claim that you wrote it (but why?!)
19but don't go whining to me, NeoMagic, Sony, Dell, or anyone else
20when it blows up your computer.
21
22Version 1.1 contains a change to try and detect non-AC97 versions of
23the hardware, and not install itself appropriately. It should also
24reinitialize the hardware on an APM resume event, assuming that APM
25was configured into your kernel.
26
27============
28Installation
29============
30
31Enable the sound drivers, the OSS sound drivers, and then the NM256
32driver. The NM256 driver *must* be configured as a module (it won't
33give you any other choice).
34
35Next, do the usual "make modules" and "make modules_install".
36Finally, insmod the soundcore, sound and nm256 modules.
37
38When the nm256 driver module is loaded, you should see a couple of
39confirmation messages in the kernel logfile indicating that it found
40the device (the device does *not* use any I/O ports or DMA channels).
41Now try playing a wav file, futz with the CD-ROM if you have one, etc.
42
43The NM256 is entirely a PCI-based device, and all the necessary
44information is automatically obtained from the card. It can only be
45configured as a module in a vain attempt to prevent people from
46hurting themselves. It works correctly if it shares an IRQ with
47another device (it normally shares IRQ 9 with the builtin eepro100
48ethernet on the Sony Z505 laptops).
49
50It does not run the card in any sort of compatibility mode. It will
51not work on laptops that have the SB16-compatible, AD1848-compatible
52or CS4232-compatible codec/mixer; you will want to use the appropriate
53compatible OSS driver with these chipsets. I cannot provide any
54assistance with machines using the SB16, AD1848 or CS4232 compatible
55versions. (The driver now attempts to detect the mixer version, and
56will refuse to load if it believes the hardware is not
57AC97-compatible.)
58
59The sound support is very basic, but it does include simultaneous
60playback and record capability. The mixer support is also quite
61simple, although this is in keeping with the rather limited
62functionality of the chipset.
63
64There is no hardware synthesizer available, as the Losedows OPL-3 and
65MIDI support is done via hardware emulation.
66
67Only three recording devices are available on the Sony: the
68microphone, the CD-ROM input, and the volume device (which corresponds
69to the stereo output). (Other devices may be available on other
70models of laptops.) The Z505 series does not have a builtin CD-ROM,
71so of course the CD-ROM input doesn't work. It does work on laptops
72with a builtin CD-ROM drive.
73
74The mixer device does not appear to have any tone controls, at least
75on the Z505 series. The mixer module checks for tone controls in the
76AC97 mixer, and will enable them if they are available.
77
78==============
79Known problems
80==============
81
82 * There are known problems with PCMCIA cards and the eepro100 ethernet
83 driver on the Z505S/Z505SX/Z505DX. Keep reading.
84
85 * There are also potential problems with using a virtual X display, and
86 also problems loading the module after the X server has been started.
87 Keep reading.
88
89 * The volume control isn't anywhere near linear. Sorry. This will be
90 fixed eventually, when I get sufficiently annoyed with it. (I doubt
91 it will ever be fixed now, since I've never gotten sufficiently
92 annoyed with it and nobody else seems to care.)
93
94 * There are reports that the CD-ROM volume is very low. Since I do not
95 have a CD-ROM equipped laptop, I cannot test this (it's kinda hard to
96 do remotely).
97
98 * Only 8 fixed-rate speeds are supported. This is mainly a chipset
99 limitation. It may be possible to support other speeds in the future.
100
101 * There is no support for the telephone mixer/codec. There is support
102 for a phonein/phoneout device in the mixer driver; whether or not
103 it does anything is anyone's guess. (Reports on this would be
104 appreciated. You'll have to figure out how to get the phone to
105 go off-hook before it'll work, tho.)
106
107 * This driver was not written with any cooperation or support from
108 NeoMagic. If you have any questions about this, see their website
109 for their official stance on supporting open source drivers.
110
111============
112Video memory
113============
114
115The NeoMagic sound engine uses a portion of the display memory to hold
116the sound buffer. (Crazy, eh?) The NeoMagic video BIOS sets up a
117special pointer at the top of video RAM to indicate where the top of
118the audio buffer should be placed.
119
120At the present time XFree86 is apparently not aware of this. It will
121thus write over either the pointer or the sound buffer with abandon.
122(Accelerated-X seems to do a better job here.)
123
124This implies a few things:
125
126 * Sometimes the NM256 driver has to guess at where the buffer
127 should be placed, especially if the module is loaded after the
128 X server is started. It's usually correct, but it will consistently
129 fail on the Sony F250.
130
131 * Virtual screens greater than 1024x768x16 under XFree86 are
132 problematic on laptops with only 2.5MB of screen RAM. This
133 includes all of the 256AV-equipped laptops. (Virtual displays
134 may or may not work on the 256ZX, which has at least 4MB of
135 video RAM.)
136
137If you start having problems with random noise being output either
138constantly (this is the usual symptom on the F250), or when windows
139are moved around (this is the usual symptom when using a virtual
140screen), the best fix is to
141
142 * Don't use a virtual frame buffer.
143 * Make sure you load the NM256 module before the X server is
144 started.
145
146On the F250, it is possible to force the driver to load properly even
147after the XFree86 server is started by doing:
148
149 insmod nm256 buffertop=0x25a800
150
151This forces the audio buffers to the correct offset in screen RAM.
152
153One user has reported a similar problem on the Sony F270, although
154others apparently aren't seeing any problems. His suggested command
155is
156
157 insmod nm256 buffertop=0x272800
158
159=================
160Official WWW site
161=================
162
163The official site for the NM256 driver is:
164
165 http://www.uglx.org/sony.html
166
167You should always be able to get the latest version of the driver there,
168and the driver will be supported for the foreseeable future.
169
170==============
171Z505RX and IDE
172==============
173
174There appears to be a problem with the IDE chipset on the Z505RX; one
175of the symptoms is that sound playback periodically hangs (when the
176disk is accessed). The user reporting the problem also reported that
177enabling all of the IDE chipset workarounds in the kernel solved the
178problem, tho obviously only one of them should be needed--if someone
179can give me more details I would appreciate it.
180
181==============================
182Z505S/Z505SX on-board Ethernet
183==============================
184
185If you're using the on-board Ethernet Pro/100 ethernet support on the Z505
186series, I strongly encourage you to download the latest eepro100 driver from
187Donald Becker's site:
188
189 ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/test/eepro100.c
190
191There was a reported problem on the Z505SX that if the ethernet
192interface is disabled and reenabled while the sound driver is loaded,
193the machine would lock up. I have included a workaround that is
194working satisfactorily. However, you may occasionally see a message
195about "Releasing interrupts, over 1000 bad interrupts" which indicates
196that the workaround is doing its job.
197
198==================================
199PCMCIA and the Z505S/Z505SX/Z505DX
200==================================
201
202There is also a known problem with the Sony Z505S and Z505SX hanging
203if a PCMCIA card is inserted while the ethernet driver is loaded, or
204in some cases if the laptop is suspended. This is caused by tons of
205spurious IRQ 9s, probably generated from the PCMCIA or ACPI bridges.
206
207There is currently no fix for the problem that works in every case.
208The only known workarounds are to disable the ethernet interface
209before inserting or removing a PCMCIA card, or with some cards
210disabling the PCMCIA card before ejecting it will also help the
211problem with the laptop hanging when the card is ejected.
212
213One user has reported that setting the tcic's cs_irq to some value
214other than 9 (like 11) fixed the problem. This doesn't work on my
215Z505S, however--changing the value causes the cardmgr to stop seeing
216card insertions and removals, cards don't seem to work correctly, and
217I still get hangs if a card is inserted when the kernel is booted.
218
219Using the latest ethernet driver and pcmcia package allows me to
220insert an Adaptec 1480A SlimScsi card without the laptop hanging,
221although I still have to shut down the card before ejecting or
222powering down the laptop. However, similar experiments with a DE-660
223ethernet card still result in hangs when the card is inserted. I am
224beginning to think that the interrupts are CardBus-related, since the
225Adaptec card is a CardBus card, and the DE-660 is not; however, I
226don't have any other CardBus cards to test with.
227
228======
229Thanks
230======
231
232First, I want to thank everyone (except NeoMagic of course) for their
233generous support and encouragement. I'd like to list everyone's name
234here that replied during the development phase, but the list is
235amazingly long.
236
237I will be rather unfair and single out a few people, however:
238
239 Justin Maurer, for being the first random net.person to try it,
240 and for letting me login to his Z505SX to get it working there
241
242 Edi Weitz for trying out several different versions, and giving
243 me a lot of useful feedback
244
245 Greg Rumple for letting me login remotely to get the driver
246 functional on the 256ZX, for his assistance on tracking
247 down all sorts of random stuff, and for trying out Accel-X
248
249 Zach Brown, for the initial AC97 mixer interface design
250
251 Jeff Garzik, for various helpful suggestions on the AC97
252 interface
253
254 "Mr. Bumpy" for feedback on the Z505RX
255
256 Bill Nottingham, for generous assistance in getting the mixer ID
257 code working
258
259=================
260Previous versions
261=================
262
263Versions prior to 0.3 (aka `noname') had problems with weird artifacts
264in the output and failed to set the recording rate properly. These
265problems have long since been fixed.
266
267Versions prior to 0.5 had problems with clicks in the output when
268anything other than 16-bit stereo sound was being played, and also had
269periodic clicks when recording.
270
271Version 0.7 first incorporated support for the NM256ZX chipset, which
272is found on some Dell Latitude laptops (the CPt, and apparently
273some CPi models as well). It also included the generic AC97
274mixer module.
275
276Version 0.75 renamed all the functions and files with slightly more
277generic names.
278
279Note that previous versions of this document claimed that recording was
2808-bit only; it actually has been working for 16-bits all along.
diff --git a/Documentation/sound/oss/OPL3-SA2 b/Documentation/sound/oss/OPL3-SA2
deleted file mode 100644
index d8b6d2bbada6..000000000000
--- a/Documentation/sound/oss/OPL3-SA2
+++ /dev/null
@@ -1,210 +0,0 @@
1Documentation for the OPL3-SA2, SA3, and SAx driver (opl3sa2.o)
2---------------------------------------------------------------
3
4Scott Murray, scott@spiteful.org
5January 7, 2001
6
7NOTE: All trade-marked terms mentioned below are properties of their
8 respective owners.
9
10
11Supported Devices
12-----------------
13
14This driver is for PnP soundcards based on the following Yamaha audio
15controller chipsets:
16
17YMF711 aka OPL3-SA2
18YMF715 and YMF719 aka OPL3-SA3
19
20Up until recently (December 2000), I'd thought the 719 to be a
21different chipset, the OPL3-SAx. After an email exhange with
22Yamaha, however, it turns out that the 719 is just a re-badged
23715, and the chipsets are identical. The chipset detection code
24has been updated to reflect this.
25
26Anyways, all of these chipsets implement the following devices:
27
28OPL3 FM synthesizer
29Soundblaster Pro
30Microsoft/Windows Sound System
31MPU401 MIDI interface
32
33Note that this driver uses the MSS device, and to my knowledge these
34chipsets enforce an either/or situation with the Soundblaster Pro
35device and the MSS device. Since the MSS device has better
36capabilities, I have implemented the driver to use it.
37
38
39Mixer Channels
40--------------
41
42Older versions of this driver (pre-December 2000) had two mixers,
43an OPL3-SA2 or SA3 mixer and a MSS mixer. The OPL3-SA[23] mixer
44device contained a superset of mixer channels consisting of its own
45channels and all of the MSS mixer channels. To simplify the driver
46considerably, and to partition functionality better, the OPL3-SA[23]
47mixer device now contains has its own specific mixer channels. They
48are:
49
50Volume - Hardware master volume control
51Bass - SA3 only, now supports left and right channels
52Treble - SA3 only, now supports left and right channels
53Microphone - Hardware microphone input volume control
54Digital1 - Yamaha 3D enhancement "Wide" mixer
55
56All other mixer channels (e.g. "PCM", "CD", etc.) now have to be
57controlled via the "MS Sound System (CS4231)" mixer. To facilitate
58this, the mixer device creation order has been switched so that
59the MSS mixer is created first. This allows accessing the majority
60of the useful mixer channels even via single mixer-aware tools
61such as "aumix".
62
63
64Plug 'n Play
65------------
66
67In previous kernels (2.2.x), some configuration was required to
68get the driver to talk to the card. Being the new millennium and
69all, the 2.4.x kernels now support auto-configuration if ISA PnP
70support is configured in. Theoretically, the driver even supports
71having more than one card in this case.
72
73With the addition of PnP support to the driver, two new parameters
74have been added to control it:
75
76isapnp - set to 0 to disable ISA PnP card detection
77
78multiple - set to 0 to disable multiple PnP card detection
79
80
81Optional Parameters
82-------------------
83
84Recent (December 2000) additions to the driver (based on a patch
85provided by Peter Englmaier) are two new parameters:
86
87ymode - Set Yamaha 3D enhancement mode:
88 0 = Desktop/Normal 5-12 cm speakers
89 1 = Notebook PC (1) 3 cm speakers
90 2 = Notebook PC (2) 1.5 cm speakers
91 3 = Hi-Fi 16-38 cm speakers
92
93loopback - Set A/D input source. Useful for echo cancellation:
94 0 = Mic Right channel (default)
95 1 = Mono output loopback
96
97The ymode parameter has been tested and does work. The loopback
98parameter, however, is untested. Any feedback on its usefulness
99would be appreciated.
100
101
102Manual Configuration
103--------------------
104
105If for some reason you decide not to compile ISA PnP support into
106your kernel, or disabled the driver's usage of it by setting the
107isapnp parameter as discussed above, then you will need to do some
108manual configuration. There are two ways of doing this. The most
109common is to use the isapnptools package to initialize the card, and
110use the kernel module form of the sound subsystem and sound drivers.
111Alternatively, some BIOS's allow manual configuration of installed
112PnP devices in a BIOS menu, which should allow using the non-modular
113sound drivers, i.e. built into the kernel.
114
115I personally use isapnp and modules, and do not have access to a PnP
116BIOS machine to test. If you have such a beast, configuring the
117driver to be built into the kernel should just work (thanks to work
118done by David Luyer <luyer@ucs.uwa.edu.au>). You will still need
119to specify settings, which can be done by adding:
120
121opl3sa2=<io>,<irq>,<dma>,<dma2>,<mssio>,<mpuio>
122
123to the kernel command line. For example:
124
125opl3sa2=0x370,5,0,1,0x530,0x330
126
127If you are instead using the isapnp tools (as most people have been
128before Linux 2.4.x), follow the directions in their documentation to
129produce a configuration file. Here is the relevant excerpt I used to
130use for my SA3 card from my isapnp.conf:
131
132(CONFIGURE YMH0800/-1 (LD 0
133
134# NOTE: IO 0 is for the unused SoundBlaster part of the chipset.
135(IO 0 (BASE 0x0220))
136(IO 1 (BASE 0x0530))
137(IO 2 (BASE 0x0388))
138(IO 3 (BASE 0x0330))
139(IO 4 (BASE 0x0370))
140(INT 0 (IRQ 5 (MODE +E)))
141(DMA 0 (CHANNEL 0))
142(DMA 1 (CHANNEL 1))
143
144Here, note that:
145
146Port Acceptable Range Purpose
147---- ---------------- -------
148IO 0 0x0220 - 0x0280 SB base address, unused.
149IO 1 0x0530 - 0x0F48 MSS base address
150IO 2 0x0388 - 0x03F8 OPL3 base address
151IO 3 0x0300 - 0x0334 MPU base address
152IO 4 0x0100 - 0x0FFE card's own base address for its control I/O ports
153
154The IRQ and DMA values can be any that are considered acceptable for a
155MSS. Assuming you've got isapnp all happy, then you should be able to
156do something like the following (which matches up with the isapnp
157configuration above):
158
159modprobe mpu401
160modprobe ad1848
161modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=1
162modprobe opl3 io=0x388
163
164See the section "Automatic Module Loading" below for how to set up
165/etc/modprobe.conf to automate this.
166
167An important thing to remember that the opl3sa2 module's io argument is
168for it's own control port, which handles the card's master mixer for
169volume (on all cards), and bass and treble (on SA3 cards).
170
171
172Troubleshooting
173---------------
174
175If all goes well and you see no error messages, you should be able to
176start using the sound capabilities of your system. If you get an
177error message while trying to insert the opl3sa2 module, then make
178sure that the values of the various arguments match what you specified
179in your isapnp configuration file, and that there is no conflict with
180another device for an I/O port or interrupt. Checking the contents of
181/proc/ioports and /proc/interrupts can be useful to see if you're
182butting heads with another device.
183
184If you still cannot get the module to load, look at the contents of
185your system log file, usually /var/log/messages. If you see the
186message "opl3sa2: Unknown Yamaha audio controller version", then you
187have a different chipset version than I've encountered so far. Look
188for all messages in the log file that start with "opl3sa2: " and see
189if they provide any clues. If you do not see the chipset version
190message, and none of the other messages present in the system log are
191helpful, email me some details and I'll try my best to help.
192
193
194Automatic Module Loading
195------------------------
196
197Lastly, if you're using modules and want to set up automatic module
198loading with kmod, the kernel module loader, here is the section I
199currently use in my modprobe.conf file:
200
201# Sound
202alias sound-slot-0 opl3sa2
203options opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3
204options opl3 io=0x388
205
206That's all it currently takes to get an OPL3-SA3 card working on my
207system. Once again, if you have any other problems, email me at the
208address listed above.
209
210Scott
diff --git a/Documentation/sound/oss/VIA-chipset b/Documentation/sound/oss/VIA-chipset
deleted file mode 100644
index 37865234e54d..000000000000
--- a/Documentation/sound/oss/VIA-chipset
+++ /dev/null
@@ -1,43 +0,0 @@
1Running sound cards on VIA chipsets
2
3o There are problems with VIA chipsets and sound cards that appear to
4 lock the hardware solidly. Test programs under DOS have verified the
5 problem exists on at least some (but apparently not all) VIA boards
6
7o VIA have so far failed to bother to answer support mail on the subject
8 so if you are a VIA engineer feeling aggrieved as you read this
9 document go chase your own people. If there is a workaround please
10 let us know so we can implement it.
11
12
13Certain patterns of ISA DMA access used for most PC sound cards cause the
14VIA chipsets to lock up. From the collected reports this appears to cover a
15wide range of boards. Some also lock up with sound cards under Win* as well.
16
17Linux implements a workaround providing your chipset is PCI and you compiled
18with PCI Quirks enabled. If so you will see a message
19 "Activating ISA DMA bug workarounds"
20
21during booting. If you have a VIA PCI chipset that hangs when you use the
22sound and is not generating this message even with PCI quirks enabled
23please report the information to the linux-kernel list (see REPORTING-BUGS).
24
25If you are one of the tiny number of unfortunates with a 486 ISA/VLB VIA
26chipset board you need to do the following to build a special kernel for
27your board
28
29 edit linux/include/asm-i386/dma.h
30
31change
32
33#define isa_dma_bridge_buggy (0)
34
35to
36
37#define isa_dma_bridge_buggy (1)
38
39and rebuild a kernel without PCI quirk support.
40
41
42Other than this particular glitch the VIA [M]VP* chipsets appear to work
43perfectly with Linux.
diff --git a/Documentation/sound/oss/cs46xx b/Documentation/sound/oss/cs46xx
deleted file mode 100644
index b54432709863..000000000000
--- a/Documentation/sound/oss/cs46xx
+++ /dev/null
@@ -1,138 +0,0 @@
1
2Documentation for the Cirrus Logic/Crystal SoundFusion cs46xx/cs4280 audio
3controller chips (2001/05/11)
4
5The cs46xx audio driver supports the DSP line of Cirrus controllers.
6Specifically, the cs4610, cs4612, cs4614, cs4622, cs4624, cs4630 and the cs4280
7products. This driver uses the generic ac97_codec driver for AC97 codec
8support.
9
10
11Features:
12
13Full Duplex Playback/Capture supported from 8k-48k.
1416Bit Signed LE & 8Bit Unsigned, with Mono or Stereo supported.
15
16APM/PM - 2.2.x PM is enabled and functional. APM can also
17be enabled for 2.4.x by modifying the CS46XX_ACPI_SUPPORT macro
18definition.
19
20DMA playback buffer size is configurable from 16k (defaultorder=2) up to 2Meg
21(defaultorder=11). DMA capture buffer size is fixed at a single 4k page as
22two 2k fragments.
23
24MMAP seems to work well with QuakeIII, and test XMMS plugin.
25
26Myth2 works, but the polling logic is not fully correct, but is functional.
27
28The 2.4.4-ac6 gameport code in the cs461x joystick driver has been tested
29with a Microsoft Sidewinder joystick (cs461x.o and sidewinder.o). This
30audio driver must be loaded prior to the joystick driver to enable the
31DSP task image supporting the joystick device.
32
33
34Limitations:
35
36SPDIF is currently not supported.
37
38Primary codec support only. No secondary codec support is implemented.
39
40
41
42NOTES:
43
44Hercules Game Theatre XP - the EGPIO2 pin controls the external Amp,
45and has been tested.
46Module parameter hercules_egpio_disable set to 1, will force a 0 to EGPIODR
47to disable the external amplifier.
48
49VTB Santa Cruz - the GPIO7/GPIO8 on the Secondary Codec control
50the external amplifier for the "back" speakers, since we do not
51support the secondary codec then this external amp is not
52turned on. The primary codec external amplifier is supported but
53note that the AC97 EAPD bit is inverted logic (amp_voyetra()).
54
55DMA buffer size - there are issues with many of the Linux applications
56concerning the optimal buffer size. Several applications request a
57certain fragment size and number and then do not verify that the driver
58has the ability to support the requested configuration.
59SNDCTL_DSP_SETFRAGMENT ioctl is used to request a fragment size and
60number of fragments. Some applications exit if an error is returned
61on this particular ioctl. Therefore, in alignment with the other OSS audio
62drivers, no error is returned when a SETFRAGs IOCTL is received, but the
63values passed from the app are not used in any buffer calculation
64(ossfragshift/ossmaxfrags are not used).
65Use the "defaultorder=N" module parameter to change the buffer size if
66you have an application that requires a specific number of fragments
67or a specific buffer size (see below).
68
69Debug Interface
70---------------
71There is an ioctl debug interface to allow runtime modification of the
72debug print levels. This debug interface code can be disabled from the
73compilation process with commenting the following define:
74#define CSDEBUG_INTERFACE 1
75There is also a debug print methodolgy to select printf statements from
76different areas of the driver. A debug print level is also used to allow
77additional printfs to be active. Comment out the following line in the
78driver to disable compilation of the CS_DBGOUT print statements:
79#define CSDEBUG 1
80
81Please see the definitions for cs_debuglevel and cs_debugmask for additional
82information on the debug levels and sections.
83
84There is also a csdbg executable to allow runtime manipulation of these
85parameters. for a copy email: twoller@crystal.cirrus.com
86
87
88
89MODULE_PARMS definitions
90------------------------
91module_param(defaultorder, ulong, 0);
92defaultorder=N
93where N is a value from 1 to 12
94The buffer order determines the size of the dma buffer for the driver.
95under Linux, a smaller buffer allows more responsiveness from many of the
96applications (e.g. games). A larger buffer allows some of the apps (esound)
97to not underrun the dma buffer as easily. As default, use 32k (order=3)
98rather than 64k as some of the games work more responsively.
99(2^N) * PAGE_SIZE = allocated buffer size
100
101module_param(cs_debuglevel, ulong, 0644);
102module_param(cs_debugmask, ulong, 0644);
103cs_debuglevel=N
104cs_debugmask=0xMMMMMMMM
105where N is a value from 0 (no debug printfs), to 9 (maximum)
1060xMMMMMMMM is a debug mask corresponding to the CS_xxx bits (see driver source).
107
108module_param(hercules_egpio_disable, ulong, 0);
109hercules_egpio_disable=N
110where N is a 0 (enable egpio), or a 1 (disable egpio support)
111
112module_param(initdelay, ulong, 0);
113initdelay=N
114This value is used to determine the millescond delay during the initialization
115code prior to powering up the PLL. On laptops this value can be used to
116assist with errors on resume, mostly with IBM laptops. Basically, if the
117system is booted under battery power then the mdelay()/udelay() functions fail to
118properly delay the required time. Also, if the system is booted under AC power
119and then the power removed, the mdelay()/udelay() functions will not delay properly.
120
121module_param(powerdown, ulong, 0);
122powerdown=N
123where N is 0 (disable any powerdown of the internal blocks) or 1 (enable powerdown)
124
125
126module_param(external_amp, bool, 0);
127external_amp=1
128if N is set to 1, then force enabling the EAPD support in the primary AC97 codec.
129override the detection logic and force the external amp bit in the AC97 0x26 register
130to be reset (0). EAPD should be 0 for powerup, and 1 for powerdown. The VTB Santa Cruz
131card has inverted logic, so there is a special function for these cards.
132
133module_param(thinkpad, bool, 0);
134thinkpad=1
135if N is set to 1, then force enabling the clkrun functionality.
136Currently, when the part is being used, then clkrun is disabled for the entire system,
137but re-enabled when the driver is released or there is no outstanding open count.
138