Thanks to Troy Kisky <troy.kisky@boundarydevices.com> for noticing.
- DSP_A format has 1-bit data delay which corresponds to SSM6202 submode 2
- DSP_B has 0-bit data delay which corresponds to submode 1
- Currently driver sets them opposite so swap the submode setting
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- OMAP McBSP DAI driver claims to support DSP_A format which has 1-bit data
delay but configures link for 0-bit data delay which is in fact DSP_B
- Fix this by changing format from DSP_A to DSP_B
- Fix also TLV320AIC23 codec and OSK5912 machine drivers since the same
error is populated also there
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Added the missing __devexit annotation to wm8350_codec_remove():
sound/soc/codecs/wm8350.c:1546: warning: 'wm8350_codec_remove' defined but not used
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sense DaVinci does not support true I2S mode and
we don't have to use the hack, use dsp_b mode instead
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Fix the meaning of SND_SOC_DAIFMT_NB_NF to match that
used in the codec.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
DaVinci does not support true I2S or right justified
mode so not all I2S codecs will work with it when the codec is
master. Document this limitation.
Add dsp_a, dsp_b mode options
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Minor, just move a block of code to make next patch clearer.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Just at little cleanup of davinci_i2s_set_dai_fmt
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Document the current polarity choices.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Add constants with a value of 0 to show more explicitly
what is being requested.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
The capture with 44.1kHz on ca0106 seems to cause loud noises on
later playbacks, which doesn't support 44.1kHz. A simple fix is to
disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with
48kHz.
Reference: Novell bnc#447624
https://bugzilla.novell.com/show_bug.cgi?id=447624
Signed-off-by: Takashi Iwai <tiwai@suse.de>
There will be a Oops or frequent underrun messages when playing music with
omap soc driver, this is because a data region is incorretly sized, other data
region will be overwriten when writing to this data region.
Signed-off-by: Stanley Miao <stanley.miao@windriver.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The previous commit re-enabled hp_nid setup for IDT92HD73*, but
it's unneeded indeed for Dell laptops that have multiple headphones.
Setting the extra hp_nid results in a non-working "Headpohne" mixer
control. Thus hp_nid should be 0 for these dell models.
Also, the automatic addition of hp_nid should check whether it's
a dual-HP model or not. For dual-HPs, the pins are already checked
by the early workaround.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added "IEC958 PCM Stream" controls for the per-stream IEC958 status
bits. Using this instead of "IEC958 Default" is safer since the status
bits will be recovered to the default states after closing the PCM
stream.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added the model without the jack-detection for some desktops that
have really no jack-detection. The recent driver caused regressions
regarding the sound output on such machines.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This reverts commit 07f455f779.
ALSA: hda: removed unneeded hp_nid references
Removed unneeded hp_nid references for 92hd73xx codec family.
This caused the silent output on some Intel desktops due to missing
routing of widget 0x0a and 0x0d.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The WM8350 is an integrated audio and power management subsystem which
provides a single-chip solution for portable audio and multimedia systems.
The integrated audio CODEC provides all the necessary functions for
high-quality stereo recording and playback. Programmable on-chip
amplifiers allow for the direct connection of headphones and microphones
with a minimum of external components. A programmable low-noise bias
voltage is available to feed one or more electret microphones.
Additional audio features include programmable high-pass filter in the
ADC input path.
This driver was originally written by Liam Girdwood with further updates
from me.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This should never happen and it's helpful to identify the specific control
that failed when it does happen.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Rather than listing lots of architectures per line in Kconfig and
Makefile, causing merge conflicts all the time, have one per line
in alphabetical order.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Replace all tasklet_hi_schedule() callers with the normal
tasklet_schedule(). The former often causes troubles with
RT-kernels, and has actually no merit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Some desktops seems to have no HP/mic jack detection on the front panel,
which results in the silent output in the recent driver, because the
driver mutes the output (to save power) when no plug is detected.
This patch adds a new model that disables the jack-detection.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch removes an inconsistency that became apparent when I
documented the fields of snd_ca0106_details. spi_dac is always
used in a 'boolean' sense, so this cleanup should make no difference.
[Actually, there is one place checking explicitly spi_dac == 1, so
this will change the behavior. But, supposing it's rather a typo,
I apply this clean-up patch -- tiwai]
Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi wrote an email [1] explaining the fields of snd_ca0106_details,
so I captured the information into the ca0106.h header file.
[1] http://article.gmane.org/gmane.linux.alsa.devel/56783/match=takashi+gpio_type
Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
A special start-up sequence is required to reduce the pop-noise of Class D
amplifier when enable hands-free on TWL4030.
Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Fixed a compile warning below:
sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’:
sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function
by setting the return value correctly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fixed the registration of dais in s3c2443-ac97.c.
sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_init':
sound/soc/s3c24xx/s3c2443-ac97.c:401: warning: passing argument 1 of 'snd_soc_register_dai' from incompatible pointer type
sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_exit':
sound/soc/s3c24xx/s3c2443-ac97.c:407: warning: passing argument 1 of 'snd_soc_unregister_dai' from incompatible pointer type
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The driver now registers the codec and DAI when probed as an I2C device.
Also convert the driver to use a single dynamic allocation to simplify
error handling.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>