Commit Graph

27 Commits

Author SHA1 Message Date
Oswald Buddenhagen
0982e519df ALSA: emu10k1: add separate documentation for E-MU cards
They are sufficiently different from Sound Blasters.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230825222157.170978-3-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-08-26 09:25:17 +02:00
Oswald Buddenhagen
13890a6a87 ALSA: emu10k1: more documentation updates
- Clarify the data flows. For SB Live! I fixed only the most obvious
  point ("from" vs. "for").
- Mention 7.1 side channels on Audigy.
- Be unspecific about the output DACs on Audigy, as lots of variants
  actually exist (see emu_chip_details table).

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230825222157.170978-2-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-08-26 09:25:08 +02:00
Oswald Buddenhagen
d945ef3627 ALSA: emu10k1: de-duplicate audigy-mixer.rst vs. sb-live-mixer.rst
Let the MANUALS/PATENTS section of the former simply refer to the latter
- there is no point in duplicating this information with little value to
end users.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230825222157.170978-1-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-08-26 09:24:59 +02:00
Ivan Orlov
f091ec768c docs: sound: add 'pcmtest' driver documentation
Add documentation for the new Virtual PCM Test Driver. It covers all
possible usage cases: errors and delay injections, random and
pattern-based data generation, playback and ioctl redefinition
functionalities testing.

We have a lot of different virtual media drivers, which can be used for
testing of the userspace applications and media subsystem middle layer.
However, all of them are aimed at testing the video functionality and
simulating the video devices. For audio devices we have only snd-dummy
module, which is good in simulating the correct behavior of an ALSA device.
I decided to write a tool, which would help to test the userspace ALSA
programs (and the PCM middle layer as well) under unusual circumstances
to figure out how they would behave. So I came up with this Virtual PCM
Test Driver.

This new Virtual PCM Test Driver has several features which can be useful
during the userspace ALSA applications testing/fuzzing, or testing/fuzzing
of the PCM middle layer. Not all of them can be implemented using the
existing virtual drivers (like dummy or loopback). Here is what can this
driver do:

- Simulate both capture and playback processes
- Check the playback stream for containing the looped pattern
- Generate random or pattern-based capture data
- Inject delays into the playback and capturing processes
- Inject errors during the PCM callbacks

Also, this driver can check the playback stream for containing the
predefined pattern, which is used in the corresponding selftest to check
the PCM middle layer data transferring functionality. Additionally, this
driver redefines the default RESET ioctl, and the selftest covers this PCM
API functionality as well.

The driver supports both interleaved and non-interleaved access modes, and
have separate pattern buffers for each channel. The driver supports up to
4 channels and up to 8 substreams.

Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20230606193254.20791-1-ivan.orlov0322@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-07 13:08:35 +02:00
Oswald Buddenhagen
155e3d3bf0 ALSA: emu10k1: straighten out FX send init
The mixer structures were filled in two places: on driver init, and when
the devices are opened. The latter made the former pointless, so we
remove the former. This implies that mixer dumps may now return all
zeroes, which is OK, as restoring them is meaningless as well.

Things were even weirder for the (generally unused) secondary sends:

Some of the initialization loops were forgotten when support for Audigy
was added, thus creating the technically illegal state of multiple sends
being routed to the same FX accumulator (though it apparently doesn't
matter when the amount is zero).

The global multi-channel init used some rather bizarre values for the
secondary sends, and the init on open actually forgot to re-initialize
them. We now use a not really more useful, but simpler formula.

The direct register init was also bogus. This doesn't really matter, as
the value is overwritten when a voice comes into use, but still.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230516093612.3536451-2-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-05-17 17:04:31 +02:00
Oswald Buddenhagen
bcdbd3b788 ALSA: emu10k1: enable bit-exact playback, part 2: voice attenuation
The voice volume is a raw fractional multiplier that can't actually
represent 1.0. To still enable real pass-through, we now set the volume
to 0.5 (which results in no loss of precision, as the FX bus provides
fractional values) and scale up the samples in DSP code.

To maintain backwards compatibility with existing configuration files,
we rescale the values in the mixer controls. The range is extended
upwards from 0xffff to 0x1fffd, which actually introduces the
possibility of specifying an amplification.

There is still a minor incompatibility with user space, namely if
someone loaded custom DSP code. They'll just get half the volume, so
this doesn't seem like a big deal.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230514170323.3408834-8-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-05-16 11:11:04 +02:00
Oswald Buddenhagen
d3330cb8e3 ALSA: emu10k1: documentation updates
- Less misinformation
- Language and whitespace fixups

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230405201220.2197893-1-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-04-06 10:14:23 +02:00
Randy Dunlap
ba35c3a599 Documentation: sound: correct spelling
Correct spelling problems for Documentation/sound/ as reported
by codespell.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: alsa-devel@alsa-project.org
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Link: https://lore.kernel.org/r/20230127064005.1558-27-rdunlap@infradead.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-01-29 09:23:45 +01:00
Randy Dunlap
1e9eb5c090 Documentation: sound/cards: fix heading underline lengths for https: changes
Fix documentation build warnings for underline length too short,
caused by s/http/https/ and not changing the accompanying underlines.

Documentation/sound/cards/audigy-mixer.rst:335: WARNING: Title underline too short.
US Patents (https://www.uspto.gov/)
----------------------------------

Documentation/sound/cards/sb-live-mixer.rst:340: WARNING: Title underline too short.
US Patents (https://www.uspto.gov/)
----------------------------------

Fixes: 7ed33ea6b4 ("ALSA: Replace HTTP links with HTTPS ones")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Alexander A. Klimov <grandmaster@al2klimov.de>
Link: https://lore.kernel.org/r/357ee576-32a2-6e2b-1db6-78be39253846@infradead.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-08-24 08:30:06 +02:00
Alexander A. Klimov
7ed33ea6b4 ALSA: Replace HTTP links with HTTPS ones
Rationale:
Reduces attack surface on kernel devs opening the links for MITM
as HTTPS traffic is much harder to manipulate.

Deterministic algorithm:
For each file:
  If not .svg:
    For each line:
      If doesn't contain `\bxmlns\b`:
        For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
            If both the HTTP and HTTPS versions
            return 200 OK and serve the same content:
              Replace HTTP with HTTPS.

Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de>
Link: https://lore.kernel.org/r/20200719151705.59624-1-grandmaster@al2klimov.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-07-19 20:49:25 +02:00
Mauro Carvalho Chehab
513f930667 ALSA: multisound.sh: update module namespace
The modules for the cards described here changed their names.
Update accordingly.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-06-26 17:45:16 +02:00
Mauro Carvalho Chehab
06501a6d2d ALSA:: multisound.sh: fix script to make it build with modern tools
The script is old and produce some warnings and errors, because
it lacks including stdlib.h and io.h is at sys/io.h.

Fix it to run with the tools found on modern Linux distros.

Tested building it on Fedora 28.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-06-26 17:44:54 +02:00
Mauro Carvalho Chehab
5c10ed433d sound: restore MultiSound script
This script is mentioned at multisound Kconfig and files. As the
driver still exists, it probably makes sense to restore it.

Fixes: 727dede0ba ("sound: Retire OSS")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-06-26 17:44:32 +02:00
Tom Saeger
1752118d48 Documentation: fix input related doc refs
Make `input` document refs valid including:
  - joystick
  - joystick-parport

Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2017-10-12 11:14:06 -06:00
Takashi Iwai
f336c3f072 ALSA: doc: ReSTize img,spdif-in.txt
Yet another simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:31 +01:00
Takashi Iwai
bb02859cd3 ALSA: doc: ReSTize serial-u16550.txt
Yet another simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:29 +01:00
Takashi Iwai
c79b5bb0a3 ALSA: doc: ReSTize hdspm.txt
A simple conversion from a plain text file.  Quite a few reformatting
in the end due to the style of the original document.

Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:28 +01:00
Takashi Iwai
a02f5895ee ALSA: doc: ReSTize README.maya44
Another	simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:27 +01:00
Takashi Iwai
7bb97dfdca ALSA: doc: ReSTize Bt87x.txt
Another	simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:26 +01:00
Takashi Iwai
3d8e81862c ALSA: doc: ReSTize MIXART.txt
Another simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:25 +01:00
Takashi Iwai
4e47556e34 ALSA: doc: ReSTize Audiophile-USB.txt
Another simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:24 +01:00
Takashi Iwai
312c01b173 ALSA: doc: ReSTize VIA82xx-mixer.txt
Another simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:23 +01:00
Takashi Iwai
e7030c96fc ALSA: doc: ReSTize emu10k1-jack.txt
Another simple conversion from a plain text file.
Put to cards directory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:22 +01:00
Takashi Iwai
72e6916671 ALSA: doc: ReSTize Audigy-mixer.txt
Another simple conversion from a plain text file.
Put to cards subdirectory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:20 +01:00
Takashi Iwai
ecef1481d5 ALSA: doc: ReSTize SB-Live-mixer document
Another simple conversion from a plain text file.
Put to cards subdirectory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 22:33:12 +01:00
Takashi Iwai
95ee717a89 ALSA: doc: ReSTize CMIPCI document
A simple conversion from a plain text file.
Put to cards subdirectory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 18:10:07 +01:00
Takashi Iwai
f59c3c6d87 ALSA: doc: ReSTize Joystick document
A conversion from a simple text file.
A new subdirectory, cards, was created to contain the card-specific
information like this one.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-11-10 18:10:03 +01:00