Added support for controlling hardware gain amps on input ports
using a volume control mixer with a mux selecting the port being controlled.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Added a new quirk for STAC_HP_M4 series for an 92hd75xxx family laptop.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Many places fail to check if codec has slave_dig_outs entries (the most common
case is not having any entry), leading to various possible oopses in hda_codec
code.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Rename the first PCM device from "Analog" to "Multichannel" because it
can be used for HDMI output on the Xonar HDAV.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Rename the callback function that switches between line and mic inputs
on the Xonar D1 because it is also usable on other models.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Do not use a hardcoded number when iterating over the PCM1796 DACs to
allow for cards with a different number of analog output channels.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Introduce some trivial functions to better document the relationships of
the various model callbacks.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Add functions to allow model drivers to communicate with external chips
by doing I/O with the not-used-for-MIDI UART.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
To enable the MIDI port, model drivers must now set flags in
device_config, not only in misc_flags. This allows model drivers to
enable the UART without creating an ALSA MIDI device.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Rename the pcm_dev_cfg field to device_config because there will be
additional flags that do not describe PCM devices.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Factor out the common code of the mixer callbacks that handle controls
that just switch a single GPIO bit.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
The Xonar D2X and DX are very similar to the D2 and D1, respectively, so
we can handle the differences dynamically instead of using a separate
model structure for each one.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Handle the differences between the X-Meridian and the other models in
the probe callback instead of using a second model structure.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Introduce symbols that indicate the two models handled by the snd-oxygen
driver, instead of using a magic number.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Add a probe callback to the model structure so that model-specific
drivers can refine their model detection before the card is initialized.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Put a copy of the model structure into the chip structure so that model-
specific drivers can modify it depending on a particular device
instance.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
When setting the SPDIF channel status sample rate field, use the
recently defined symbols instead of magic numbers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
The VT1702 and VT1708S have a second S/PDIF output which is used to
connect to a HDMI transmitter. This patch adds support for it.
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This mode allows an output stream to have two substreams, one for the
speakers and one for the headphone. Each of the substreams has independent
PCM data and uses a different DAC.
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
The VT1702 and VT1708S codecs are new HDA codecs by VIA.
This patch adds support for them to the patch_via.c file for HDA
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
In the current driver, there is a consistent mistake between the SURROUND and
the SIDE channels. This patch fixes it.
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* add extra parenthesis to make code more readable
* use kzalloc() for alloc+zero rather than kcalloc()
* ensure that AUTO_SEQ_* starts at 0
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Changed the mux naming scheme from "IEC9258 Mux" to "IEC958 Playback Source" to match
the coding style.
Signed-by-off: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Added slave_dig_outs entries for several IDT codecs that have multiple
SPDIF outs, and enabled these SPDIF outs in several pin configs.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Added support for playing a stream on multiple digital outs. This is done
by defining codec->slave_dig_outs as array of hda_nid_t with a null-terminated entry to set the
slave SPDIF outs, in which the slave outs have cloned settings of the master out (e.g. dig_out_nid).
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Inspired by Alexander Beregalov's patches for wtm and aureon.c,
I decided to run checkpatch on some more files. After some work
checkpatch.pl-0.23 --no-tree --file --strict <file> reports
0 errors, 0 warnings, 0 checks, n lines checked for:
phase.c
phase.h
juli.c (1 check about unused code, maybe we should comment it)
juli.h (no changes necessary)
In other files I have just fixed // comments and long lines along the
way (but not all of them), more coming up.
Signed-off-by: Vedran Miletic <rivanvx@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Dynamically create mux controls for SPDIF outs on certain IDT/Sigmatel codecs.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
before:
total: 304 errors, 137 warnings, 2259 lines checked
after:
total: 0 errors, 121 warnings, 2284 lines checked
Compile tested, size is different because of include was changed,
but without that change md5sum is different because of cmp cx,dx/cmp
dx,cx swap and __LINE__ was changed in printk function.
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Allow probing of 4 codecs on known good situations.
On some known bad situations, it should be avoided.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
laptop, so it automatically uses the ALC268_TOSHIBA quirk.
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <rivanvx@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <otakon@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <perex@perex.cz>
Added the support of Toshiba RX1 laptop with ALC262 codec chip.
Related ALSA bug#3386:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3386
Signed-off-by: Hiroshi Miura <miurahr@acm.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <john.utz@dmx.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Add a workaround for bad DMA-position reporting on VIA chipset.
Signed-off-by: Joseph Chan <josephchan@via.com.tw>
[modified and cleaned up by tiwai]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>