Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
laptop, so it automatically uses the ALC268_TOSHIBA quirk.
Signed-off-by: Travis Place <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Only used in ac97_codec by including ac97_patch.c directly, effectively static
Found by sparse:
sound/pci/ac97/ac97_patch.c:3551:5: warning: symbol 'patch_vt1617a' was not declared. Should it be static?
sound/pci/ac97/ac97_patch.c:3767:5: warning: symbol 'patch_vt1618' was not declared. Should it be static?
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Limit the available channels for multi-channel playback device to
the real number of channels. Until now, always up to 8 channels
are created, which are simply useless without the real outputs.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Even though MIDI was fixed on ice1724 chips a while ago, it wasn't yet
enabled for some cards as it didn't get enough testing. This was tested
with MIDI keyboard on PHASE 22 and with looping back output to input and
it works stable, so it's safe to enable it.
Besides this, there are some more minor fixes, not exactly user visible:
* added info about PHASE 28 (collected, as I don't have a card)
* added info about TS22PCI and new revisions of PHASE 22
* disable 192k on PHASE 22 as AK4524 I2S doesn't support it
* enable SPDIF reciever on PHASE 22
Signed-off-by: Vedran Miletic <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
This enables MIDI on Terratec Aureon 7.1 Universe cards specifically.
Apparently the other envy24ht-based Aureon cards do not have MIDI ports,
hence I added a Universe specific eeprom array.
The newer cards (Aureon 7.1 PCI / 5.1 PCI/Fun) have MIDI but use a CMI
DSP so this driver does not concern them at all.
Signed-off-by: Maximilian Rehkopf <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
The AC97 clock detection is not accurate in some cases. This patch adds
an initial whitelist for audio devices gathered from RedHat's bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=441087
As a side effect, white-listing might speedup kernel booting (AC97 clock
measuring code is not activated).
Signed-off-by: Jaroslav Kysela <[email protected]>
sound/sound_core.c implements soundcore.ko and contains two parts -
sound_class which is shared by both ALSA and OSS and device
redirection support for OSS. It's always compiled when any sound
support is enabled although it's necessary only when OSS (the actual
one or emulation) is enabled. This is slightly wasteful and as device
redirection always registers character device region for major 14, it
prevents alternative implementation.
This patch introduces a new config SOUND_OSS_CORE which is selected
iff OSS support is actually necessary and build the OSS core part
conditionally.
If OSS is disabled, soundcore merely contains sound_class but leaving
it that way seems to be the simplest approach as otherwise sound_class
should be in ALSA core file if OSS is disabled but should be in
soundcore if OSS is enabled. Also, there's also the user confusion
factor.
Signed-off-by: Tejun Heo <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
1. Implement 7.1 Output for vt1618 codec.
2. Fix typos in comments from my previous 1617a patch.
Signed-off-by: John L. Utz III <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Pop time configuration is a debugging feature which shouldn't be used in
normal operation so move it to debugfs where it is clearer. This also
simplifies the code since debugfs provides standard facilities for
exposing simple integer values to user space.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Added the descriptions of missing model values.
Also, fixed the model strings of a few new models to a standard style.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Add a workaround for bad DMA-position reporting on VIA chipset.
Signed-off-by: Joseph Chan <[email protected]>
[modified and cleaned up by tiwai]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Fix a few issues identified by Jean Delvare:
- Add missing newline to error display.
- Return an error when we fail to locate the I2C adaptor.
- Remove the static wm8903_i2c_device Jean suggested, it's redundant.
Signed-off-by: Mark Brown <[email protected]>
Acked-by: Jean Delvare <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Two warning messages lack their trailing new-line, add it.
Signed-off-by: Jean Delvare <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
- Add support for ECS (1019:9087)
- Delete G71V record from alc662_cfg_tbl[]
The PCI SubsystemID was the same with M70V
- Add more ASUS notebook support
Signed-off-by: Kailang Yang <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
- Add Lenovo Sky support (17aa:101d)
- Add ASUS M90V support (1043:8317)
- Add ASUS Eee 1601 support (1043:835f)
Signed-off-by: Kailang Yang <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Added the support of Quanta FL1 with ALC269 code chip.
Also a bit space clean-ups.
Signed-off-by: Kailang Yang <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Added the support of Acer Aspire One with ALC269 codec chip.
Signed-off-by: Kailang Yang <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Fixed the support of HP DC7600 with ALC260, which was formerly handled
as model=hp-3013.
Signed-off-by: Kailang Yang <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
The WM8903 is a high performance ultra-low power stereo CODEC optimised
for portable audio applications. Features include:
* 5mW power consumption for DAC to headphone playback
* Stereo DAC SNR 96dB typical, THD -86dB typical
* Stereo ADC SNR 93dB typical, THD -80dB typical
* Up to 3 single ended inputs per stereo channel
* Up to 2 pseudo differential inputs per stereo channel
* Up to 1 fully differential mic input per stereo channel
* Digital Dynamic Range Controller (compressor/limiter)
* Digital sidetone mixing
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Use the wss_dout function which does not mess
shadowed register values during chip probing.
Otherwise, user ends up with stupid mixer settings
after driver loading.
Signed-off-by: Krzysztof Helt <[email protected]>
Acked-by: Rene Herman <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
- more register naming work
- finally figured out that weird CR register stuff
(and did I mention that I hate _really_ undecipherable open-coded values?)
- fix handling of IRQ sharing in interrupt handler
(hopefully properly, otherwise I'd be grateful to hear your
pedantic comments ;)
- add handy SPECS_PAGE references wherever useful
- comments, cleanup
- add me as module author
Signed-off-by: Andreas Mohr <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
ALC269 capture source wasn't properly set up.
It's an independent MUX (0x23), not a source of ADC.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Check continuous pages in the buffer set up so that the number of
BDL is reduced. Also increased the max buffer size.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
The errors at buffer preallocations aren't fatal and safe to ignore.
The buffer will be allocated dynamically when opened.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Check the continuity of allocated pages to reduce the BDL size as much
as possible so that it can use more than 1MB buffers.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Most hardwares have limited buffer-descriptor table length. This
also restricts the max buffer size of the sound driver.
For example, snd-hda-intel has 1MB buffer size limit, and this is
because it can have at most 256 BDL entries. For supporting larger
buffers, we need to allocate larger pages even for sg-buffers.
This patch changes the sgbuf allocation code to try to allocate
larger pages first. At each head of the allocated pages, the
number of allocated pages is stored in the lowest bits of the
corresponding entry of the table addr field. This change isn't
visible as long as the driver uses snd_sgbuf_get_addr() helper.
Also, the patch adds a new function, snd_pcm_sgbuf_get_chunk_size().
This returns the size of the chunk on continuous pages starting at
the given position offset. If the chunk reaches to a non-continuous
page, it returns the size to the boundary.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
snd_dma_alloc_pages_fallback() always tries to reduce the size in a half,
but it's not good when the given size isn't a power-of-two.
Check it first then try to align.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Clean up SG-buffer helper functions and macros. Helpers take substream
as arguments now.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
ALC269 codec has a beep, but it was not used, so far.
Create a beep control appropriately.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Replace snd_opl3sa2_info_xxx() with snd_wss_info_xxx().
Drop check of card->private_data which cannot be NULL
if card is not NULL (spotted by Rene Herman).
Signed-off-by: Krzysztof Helt <[email protected]>
Reviewed-by: Rene Herman <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
- use specs-derived register name enums instead of open-coded numeric
values, for better understanding of things
- fix naming confusion ("gcr" was _NOT_ the GCR register stuff, but
instead the io _base_ which has multiplexed _access_ to GCR config
space, at _sub_ registers 0x08 and 0x0c)
- add FIXME comments about a race condition and MPU401 features
Signed-off-by: Andreas Mohr <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
With the restructering of the indy button handling the old OSS HAL2 driver
got broken. Since there is a new ALSA driver for HAL2, the experimental
OSS driver is obsolete and will be removed by this patch.
Signed-off-by: Thomas Bogendoerfer <[email protected]>
Cc: Ralf Baechle <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
When bdl_pos_adj=0 is given, disable the position-check and the delayed
period update mechanism. Usually bdl_pos_adj=0 is set only for the
debugging purpose on really broken hardwares. It's better to disable
the extra complexity in such a case.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Mute sound by setting mute bit without
setting volume to 0. It makes both source code
and binary shorter.
Signed-off-by: Krzysztof Helt <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Added the basic support of AD1882A codec chip.
It's almost compatible with AD1882, but with a digital mic and some
differences in connections.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Remove card pointer from the snd_opl3sa2
structure and break circular reference
snd_card->snd_opl3sa2->snd_card.
Signed-off-by: Krzysztof Helt <[email protected]>
Acked-by: Rene Herman <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Set up channel information for HDMI widgets. This will allow LPCM
with multiple channels supported on some HDMI devices.
TODO: It still doesn't check ELD and doesn't change PCM parameters
dynamically.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>