16 Sep, 2014

4 commits


14 Sep, 2014

2 commits


12 Sep, 2014

1 commit


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

    Takashi Iwai
     

10 Sep, 2014

2 commits


09 Sep, 2014

1 commit


06 Sep, 2014

1 commit


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

    Peter Ujfalusi
     

03 Sep, 2014

4 commits


02 Sep, 2014

2 commits


01 Sep, 2014

1 commit


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

    Peter Ujfalusi
     
  • 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

    Takashi Sakamoto
     
  • 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

    Takashi Sakamoto
     
  • Reported-by: Zoltán Szenczi
    Signed-off-by: Paul Handrigan
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Paul Handrigan
     
  • Reported-by: Zoltán Szenczi
    Signed-off-by: Paul Handrigan
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Paul Handrigan
     
  • 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()

    Linus Torvalds
     

27 Aug, 2014

3 commits


23 Aug, 2014

2 commits


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

    Takashi Iwai
     
  • Signed-off-by: Rasmus Villemoes
    Signed-off-by: Takashi Iwai

    Rasmus Villemoes
     
  • Signed-off-by: Rasmus Villemoes
    Signed-off-by: Takashi Iwai

    Rasmus Villemoes
     
  • 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

    Clemens Ladisch
     
  • 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

    Linus Torvalds
     

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

    Libin Yang
     
  • 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

    Libin Yang
     
  • 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=0

    To 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

    Hui Wang
     

17 Aug, 2014

1 commit

  • Sparse spits out the following warning:
    sound/soc/sh/rcar/gen.c:250:21: warning: dubious: x & !y

    It 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

    Lars-Peter Clausen