The stereo ADC in the WM9713 can be used to produce data for both the
standard AC97 interface and the additional voice PCM interface. Support
use on both by defining virtual ADCs tied to each accepting the output
from the actual ADCs.
Reported-by: Rodolfo Giometti <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
When built with AC97 support the ASoC core depends on AC97_BUS so force
it to be available Kconfig.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
VT1708S' Mic Boost should be hidden in hardware design according to some
customers' requirements. However, in case of bugs, it has to be exhibited to
normal users, so we need to:
* open a software backdoor, which is disabled by default in hardware
* re-write .tlv & .info, to indicate the actual necessary info, which we cannot
get from amplifier's capabiliies
Signed-off-by: Logan Li <[email protected]>
Signed-off-by: Harald Welte <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
As it seems, the recently-sent patch for the 2nd S/PDIF (HDMI) output
is not working with alsa-kernel 1.0.18rc3.
This patch makes it work by
* activating the second S/PDIF output pin in the pin config
* consolidating the dig_playback_pcm_prepare() with extra_dig_pcm_prepare()
functions
* remove the need for an extra hda_pcm_stream structure and rather represents
the second digital output as substream within the primary S/PDIF digital out
stream.
Signed-off-by: Logan Li <[email protected]>
Signed-off-by: Harald Welte <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Don't enumerate via_hp_mixer while hp_mux is null (headphone does not exist),
to fix the crash of via_independent_hp_info (via_hp_mixer's .info), which will
reference hp_mux.
Signed-off-by: Logan Li <[email protected]>
Signed-off-by: Harald Welte <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
ASoC and non-ASoC drivers for PCM DMA on PXA share lots of common code.
Move it to pxa2xx-lib.
[Fixed some checkpatch warnings -- broonie]
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Support building of pxa2xx-ac97-lib for several CPUs by making code
run-time selected, not only compile-time.
[Fixed 3XX->3xx typos in ifdef checks -- broonie.]
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
ASoC and non-ASoC drivers for ACLINK on PXA share lot's of common code.
Move all common code into separate module snd-pxa2xx-lib.
[Fixed handing of SND_AC97_CODEC in Kconfig and some checkpatch warnings
-- broonie]
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
The WM8971 is a low power, high quality stereo codec designed for
portable digital audio applications.
This driver was originally written by Kenneth Kiraly. While out of tree
it has had updates to reflect current kernel APIs and coding standards
from Graeme Gregory and Mark Brown.
Signed-off-by: Kenneth Kiraly <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
Signed-off-by: Graeme Gregory <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus
on their Asus P5Q Premium and Pro boards.
Signed-off-by: Robin H. Johnson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Implement the slave_dig_outs for AD1989 cards. Untested due to lack of
hardware.
Signed-off-by: Robin H. Johnson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
The Pincap output had a typod format specifier, leading to an extraneous "08"
in the output, which is a reserved bit of the Vref field, and was really
confused :-).
Signed-off-by: Robin H. Johnson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Explain some of the magic numbers I saw while trying to fix the AD1989 SPDIF
issue. Maybe should just use the expanded form directly in the verbs?
Signed-off-by: Robin H. Johnson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they
actually work. Also initialize the HDMI SPDIF at the same time.
Signed-off-by: Robin H. Johnson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Added support for defining the number of amps and the creation
of the private_dimux dynamically for the 92hd73xx codec family.
Signed-off-by: Matthew Ranostay <[email protected]>
[Fixed a typo by tiwai]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Don't use __init but __devinit to define probe function. A pointer to
snd_aica_probe is passed to the core via platform_driver_register and so the
function must not disappear after the module is loaded. Using __init
and having HOTPLUG=y and SND_AICA=m the following probably oopses:
echo -n AICA > /sys/bus/platform/driver/AICA/unbind
echo -n AICA > /sys/bus/platform/driver/AICA/bind
Strange enough add_aicamixer_controls which is only called by
snd_aica_probe was already using __devinit.
While at it move the remove function to .devexit.text section.
Signed-off-by: Uwe Kleine-König <[email protected]>
Cc: Adrian McMenamin <[email protected]>
Cc: Paul Mundt <[email protected]>
Cc: Jaroslav Kysela <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
This patch sets the HP out not used by the "Headphone to Line Out" switch to the
hp_nid.
Signed-off-by: Matthew Ranostay <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Added a new quirk for STAC_HP_M4 series for an 92hd75xxx family laptop.
Signed-off-by: Matthew Ranostay <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Ensure wm8731_spi_write byte order is consistent regardless of
endianess.
Signed-off-by: Alan Horstmann <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Introduce some trivial functions to better document the relationships of
the various model callbacks.
Signed-off-by: Clemens Ladisch <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Factor out the common code of the mixer callbacks that handle controls
that just switch a single GPIO bit.
Signed-off-by: Clemens Ladisch <[email protected]>
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 <[email protected]>
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 <[email protected]>
Introduce symbols that indicate the two models handled by the snd-oxygen
driver, instead of using a magic number.
Signed-off-by: Clemens Ladisch <[email protected]>
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 <[email protected]>
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 <[email protected]>
When setting the SPDIF channel status sample rate field, use the
recently defined symbols instead of magic numbers.
Signed-off-by: Clemens Ladisch <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
* 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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Don't use __init but __devinit to define probe function. A pointer to
sa11xx_uda1341_probe is passed to the core via platform_driver_register
and so the function must not disappear after the module is loaded. Using
__init and having HOTPLUG=y and SND_SA11XX_UDA1341=m the following
probably oopses:
echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/unbind
echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/bind
Signed-off-by: Uwe Kleine-König <[email protected]>
Cc: Russell King <[email protected]>
Cc: Brian Avery <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
Changed the mux naming scheme from "IEC9258 Mux" to "IEC958 Playback Source" to match
the coding style.
Signed-by-off: Matthew Ranostay <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>