16 Sep, 2014
4 commits
-
…nie/sound into for-linus
ASoC: Fixes for v3.17
This is mostly driver fixes, the biggest one being the tlv320aic31xx
which is relatively large but simple and device specific. There's a
small fix in the error handling in DPCM too which is relatively minor
error handling fix. -
…rockchip', 'asoc/fix/samsung' and 'asoc/fix/tlv320aic31xx' into asoc-linus
14 Sep, 2014
2 commits
-
Reference rockchip I2S controller TRM, modify some registers' property
I2S_FIFOLR: read / write, but not volatile, not precious
I2S_INTSR: read / write
I2S_CLR: volatile, register value will be cleared by readTest on RK3288 with max98090.
Signed-off-by: Jianqun Xu
Signed-off-by: Mark Brown -
Fix error format set to I2S master or slave mode.
Test on RK3288 board with max98090.Signed-off-by: Jianqun Xu
Signed-off-by: Mark Brown
12 Sep, 2014
1 commit
-
The SPDIF control register must be written to set the data type in hw_params
not the ADC control register.Signed-off-by: Paul Handrigan
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
11 Sep, 2014
1 commit
-
When a driver is set up without the jack detection explicitly (either
by passing a model option or via a specific fixup), the pin powermap
of IDT/STAC codecs is set up wrongly, resulting in the silence
output. It's because of a logic failure in stac_init_power_map().
It tries to avoid creating a callback for the pins that have other
auto-hp and auto-mic callbacks, but the check is done in a wrong way
at a wrong time. The stac_init_power_map() should be called after
creating other jack detection ctls, and the jack callback should be
created only for jack-detectable widgets.This patch fixes the check in stac_init_power_map() and its callee
at the right place, after snd_hda_gen_build_controls().Reported-by: Adam Richter
Cc:
Signed-off-by: Takashi Iwai
10 Sep, 2014
2 commits
-
dpcm_path_get may return -ENOMEM when allocating memory for list
fails. We should not keep processing path or start up dpcm dai in
this case.Signed-off-by: Qiao Zhou
Acked-by: Vinod Koul
Signed-off-by: Mark Brown -
In a couple of places the driver is missing a check to ensure there is a
secondary DAI before it de-references the pointer to it, causing a null
pointer de-reference. This patch adds a check to avoid this.Signed-off-by: Charles Keepax
Acked-by: Sylwester Nawrocki
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
09 Sep, 2014
1 commit
-
I moved from ST Microelectronics and so updating email-id to personal one.
Signed-off-by: Rajeev Kumar
Signed-off-by: Mark Brown
06 Sep, 2014
1 commit
-
I moved from ST Microelectronics and the email-id no longer
exists. Update email-id to personal one,Signed-off-by: Rajeev Kumar
Signed-off-by: Mark Brown
04 Sep, 2014
1 commit
-
In case of capture we should not use rotation. The reverse and mask is
enough to get the data align correctly from the bus to MCU:
Format data from bus after reverse (XRBUF)
S16_LE: |LSB|MSB|xxx|xxx| |xxx|xxx|MSB|LSB|
S24_3LE: |LSB|DAT|MSB|xxx| |xxx|MSB|DAT|LSB|
S24_LE: |LSB|DAT|MSB|xxx| |xxx|MSB|DAT|LSB|
S32_LE: |LSB|DAT|DAT|MSB| |MSB|DAT|DAT|LSB|With this patch all supported formats will work for playback and capture.
Reported-by: Jyri Sarha (broken S24_3LE capture)
Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
03 Sep, 2014
4 commits
-
…nie/sound into for-linus
ASoC: Fixes for v3.17
A few more driver specific fixes on top of the currently pending fixes
(which are already in your tree but not Linus'). -
I2S format requires bitclock to have an exact amount of cycles in a
frame for audio to work cleanly. With dsp formats that is not so
important.Updates aic31xx_setup_pll() to look for a line in aic31xx_divs table
that produces the best match for the bitclock and adds lines to
aic31xx_divs for 12MHz mclk and 24bit samples.Signed-off-by: Jyri Sarha
Tested-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
…2x', 'asoc/fix/omap', 'asoc/fix/rsnd', 'asoc/fix/rt5640', 'asoc/fix/rt5677', 'asoc/fix/simple' and 'asoc/fix/tegra' into asoc-linus
02 Sep, 2014
2 commits
-
ALC1150 codec seems to need the COEF- and PLL-setups just like its
compatible ALC882 codec. Some machines (e.g. SunMicro X10SAT) show
the problem like too low output volumes unless the COEF setup is
applied.Reported-and-tested-by: Dana Goyette
Cc:
Signed-off-by: Takashi Iwai -
DAI links's cpu_of_node's and codec_of_node's refcounts shouldn't
be decremented immediately at the end of the probe() fucntion.
Because we will still use them before the audio card is removed.Signed-off-by: Xiubo Li
Signed-off-by: Mark Brown
01 Sep, 2014
1 commit
-
Acer Aspire 3830TG with CX20588 codec has a digital built-in mic that
has the same problem like many others, the inverted signal in stereo.
Apply the same fixup to this machine, too.Cc:
Signed-off-by: Takashi Iwai
29 Aug, 2014
6 commits
-
The platform_name should be omap-mcasp3 for the 2nd link which is used for
voice connection.Reported-by: Tony Lindgren
Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
In IEC 61883-6, one data block transfers one event. In ALSA, the event equals one PCM frame,
hence one data block transfers one PCM frame. But Dice has a quirk at higher sampling rate
(176.4/192.0 kHz) that one data block transfers two PCM frames.Commit 10550bea44a8 ("ALSA: dice/firewire-lib: Keep dualwire mode but obsolete
CIP_HI_DUALWIRE") moved some codes related to this quirk into Dice driver. But the commit
forgot to add arrangements for PCM period interrupts and DMA pointer updates. As a result, Dice
driver cannot work correctly at higher sampling rate.This commit adds 'double_pcm_frames' parameter to amdtp structure for this quirk. When this
parameter is set, PCM period interrupts and DMA pointer updates occur at double speed than in
IEC 61883-6.Reported-by: Daniel Robbins
Fixes: 10550bea44a8 ("ALSA: dice/firewire-lib: Keep dualwire mode but obsolete CIP_HI_DUALWIRE")
Signed-off-by: Takashi Sakamoto
Cc: # 3.16
Signed-off-by: Takashi Iwai -
The channel mapping is initialized by amdtp_stream_set_parameters(), however
Dice driver set it before calling this function. Furthermore, the setting is
wrong because the index is the value of array, and vice versa.This commit moves codes for channel mapping after the function and set it correctly.
Reported-by: Daniel Robbins
Fixes: 10550bea44a8 ("ALSA: dice/firewire-lib: Keep dualwire mode but obsolete CIP_HI_DUALWIRE")
Signed-off-by: Takashi Sakamoto
Cc: # 3.16
Signed-off-by: Takashi Iwai -
Reported-by: Zoltán Szenczi
Signed-off-by: Paul Handrigan
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Reported-by: Zoltán Szenczi
Signed-off-by: Paul Handrigan
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Pull sound fixes from Takashi Iwai:
"Here contains not many exciting changes but just a few minor ones: An
off-by-one proc write fix, a couple of trivial incldue guard fixes,
Acer laptop pinconfig fix, and a fix for DSD formats that are still
rarely used"* tag 'sound-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Set up initial pins for Acer Aspire V5
ALSA: pcm: Fix the silence data for DSD formats
ALSA: ctxfi: ct20k1reg: Fix typo in include guard
ALSA: hda: ca0132_regs.h: Fix typo in include guard
ALSA: core: fix buffer overflow in snd_info_get_line()
27 Aug, 2014
3 commits
-
We name MICBIAS1 in dapm widget, but micbias1 in route table.
Signed-off-by: Bard Liao
Signed-off-by: Mark Brown -
Debugging showed Realtek RT5642 doesn't support autoincrementing writes so
driver should set the use_single_rw flag for regmap.Signed-off-by: Jarkko Nikula
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Acer Aspire V5 doesn't set up the pins correctly at the cold boot
while the pins are corrected after the warm reboot. This patch gives
the proper pin configs statically in the driver as a workaround.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81561
Signed-off-by: Takashi Iwai
23 Aug, 2014
2 commits
-
Signed-off-by: Rasmus Villemoes
Acked-by: Thierry Reding
Signed-off-by: Mark Brown -
Signed-off-by: Rasmus Villemoes
Signed-off-by: Mark Brown
22 Aug, 2014
5 commits
-
Right now we set 0 as the silence data for DSD_U8 and DSD_U16 formats,
but this is actually wrong. 0 is rather the most negative value.
Alternatively, we may take the repeating 0x69 pattern like ffmpeg
deploys.Reference: https://ffmpeg.org/pipermail/ffmpeg-cvslog/2014-April/076427.html
Suggested-by: Alexander E. Patrakov
Signed-off-by: Takashi Iwai -
Signed-off-by: Rasmus Villemoes
Signed-off-by: Takashi Iwai -
Signed-off-by: Rasmus Villemoes
Signed-off-by: Takashi Iwai -
snd_info_get_line() documents that its last parameter must be one
less than the buffer size, but this API design guarantees that
(literally) every caller gets it wrong.Just change this parameter to have its obvious meaning.
Reported-by: Tommi Rantala
Cc: # v2.2.26+
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Pull sound fixes from Takashi Iwai:
"A bunch of ASoC fixes with a few HD-audio fixes in this pull request.All fairly small, boring and device-specific fixes, in addition to
MAINTAINERS update for better reviewing"* tag 'sound-3.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda/hdmi - apply Valleyview fix-ups to Cherryview display codec
ALSA: hda/hdmi - set depop_delay for haswell plus
ALSA: hda - restore the gpio led after resume
ALSA: hda/realtek - Avoid setting wrong COEF on ALC269 & co
ASoC: pxa-ssp: drop SNDRV_PCM_FMTBIT_S24_LE
ASoC: fsl-esai: Revert .xlate_tdm_slot_mask() support
ASoC: mcasp: Fix implicit BLCK divider setting
ASoC: arizona: Fix TDM slot length handling in arizona_hw_params
ASoC: pcm512x: Correct Digital Playback control names
ASoC: dapm: Fix uninitialized variable in snd_soc_dapm_get_enum_double()
ASoC: Intel: Restore Baytrail ADSP streams only when ADSP was in reset
ASoC: Intel: Wait Baytrail ADSP boot at resume_early stage
ASoC: Intel: Merge Baytrail ADSP suspend_noirq into suspend_late
MAINTAINERS: Add i.MX maintainers and paths to Freescale ASoC entry
ASoC: Intel: Update Baytrail ADSP firmware name
19 Aug, 2014
3 commits
-
Valleyview and Cherryview have the same behavior on display audio. So this patch
defines is_valleyview_plus() to include codecs for both Valleyview and its successor
Cherryview, and apply Valleyview fix-ups to Cherryview.Signed-off-by: Libin Yang
Signed-off-by: Takashi Iwai -
Both Haswell and Broadwell need set depop_delay to 0. So apply this
setting to haswell plus.Signed-off-by: Libin Yang
Signed-off-by: Takashi Iwai -
On some HP laptops, the mute led is controlled by codec gpio.
When some machine resume from s3/s4, the codec gpio data will be
cleared to 0 by BIOS:
Before suspend:
IO[3]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0
After resume:
IO[3]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0To skip the AFG node to enter D3 can't fix this problem.
A workaround is to restore the gpio data when the system resume
back from s3/s4. It is safe even on the machines without this
problem.BugLink: https://bugs.launchpad.net/bugs/1358116
Tested-by: Franz Hsieh
Cc: stable@vger.kernel.org
Signed-off-by: Hui Wang
Signed-off-by: Takashi Iwai
17 Aug, 2014
1 commit
-
Sparse spits out the following warning:
sound/soc/sh/rcar/gen.c:250:21: warning: dubious: x & !yIt does this because sometimes mixing boolean and bit-wise logic has not the
intended result. In this case we are fine, but replacing the bit-wise '&' with
the boolean '&&' silences the sparse warning. The generated code for both cases
is the same.Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown