19 Dec, 2013

4 commits


18 Dec, 2013

3 commits


17 Dec, 2013

3 commits


13 Dec, 2013

3 commits

  • …nie/sound into for-linus

    ASoC: Fixes for v3.13

    A few driver and error handling fixes plus a fix to ensure that we
    mute streams when we should. The Atmel trigger addition is a fix to
    ensure that we do the correct sequence of interactions with the
    hardware.

    Takashi Iwai
     
  • On the Dell machines with codec whose Subsystem Id is 0x10280610,
    0x10280629 or 0x1028063e, no external microphone can be detected when
    plugging a 3-ring headset. If we add "model=dell-headset-multi" for
    the snd-hda-intel.ko, the problem will disappear.

    The codecs on these machines belong to alc_269 family.

    BugLink: https://bugs.launchpad.net/bugs/1260303
    Cc: David Henningsson
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • While enabling these machines, we found we would sometimes lose an
    interrupt if we change hardware volume during playback, and that
    disabling msi fixed this issue. (Losing the interrupt caused underruns
    and crackling audio, as the one second timeout is usually bigger than
    the period size.)

    The machines were all machines from HP, running AMD Hudson controller,
    and Realtek ALC282 codec.

    Cc: stable@vger.kernel.org
    BugLink: https://bugs.launchpad.net/bugs/1260225
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     

12 Dec, 2013

3 commits


11 Dec, 2013

4 commits

  • AD1986A codec is a pretty old codec and has really many hidden
    restrictions. One of such is that each DAC is dedicated to certain
    pin although there are possible connections. Currently, the generic
    parser tries to assign individual DACs as much as possible, and this
    lead to two bad situations: connections where the sound actually
    doesn't work, and connections conflicting other channels.

    We may fix this by trying to find the best connections more harder,
    but as of now, it's easier to give some hints for paired DAC/pin
    connections and honor them if available, since such a hint is needed
    only for specific codecs (right now only AD1986A, and there will be
    unlikely any others in future).

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64971
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66621
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • On the Dell machines with codec whose Subsystem Id is 0x10280624,
    no external microphone can be detected when plugging a 3-ring
    headset. If we add "model=dell-headset-multi" for the
    snd-hda-intel.ko, the problem will disappear.

    BugLink: https://bugs.launchpad.net/bugs/1259790
    Cc: David Henningsson
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • In case a single HDA card has both HDMI and S/PDIF outputs, the S/PDIF
    outputs will have their IEC958 controls created starting from index 16
    and the HDMI controls will be created starting from index 0.

    However, HDMI simple_playback_build_controls() as used by old VIA and
    NVIDIA codecs incorrectly requests the IEC958 controls to be created
    with an S/PDIF type instead of HDMI.
    In case the card has other codecs that have HDMI outputs, the controls
    will be created with wrong index=16, causing them to e.g. be unreachable
    by the ALSA "hdmi" alias.

    Fix that by making simple_playback_build_controls() request controls
    with HDMI indexes.

    Not many cards have an affected configuration, but e.g. ASUS M3N78-VM
    contains an integrated NVIDIA HDA "card" with:
    - a VIA codec that has, among others, an S/PDIF pin incorrectly
    labelled as an HDMI pin, and
    - an NVIDIA MCP7x HDMI codec.

    Reported-by: MysterX on #openelec
    Tested-by: MysterX on #openelec
    Signed-off-by: Anssi Hannula
    Cc: # 3.8+
    Signed-off-by: Takashi Iwai

    Anssi Hannula
     
  • Not all channels have been initialized, so far, especially when aamix
    NID itself doesn't have amps but its leaves have. This patch fixes
    these holes. Otherwise you might get unexpected loopback inputs,
    e.g. from surround channels.

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Dec, 2013

5 commits

  • On the Dell Inspiron 3045 machine (codec Subsystem Id: 0x10280628),
    no external microphone can be detected when plugging a 3-ring
    headset. If we add "model=dell-headset-multi" for the
    snd-hda-intel.ko, the problem will disappear.

    BugLink: https://bugs.launchpad.net/hwe-somerville/+bug/1259437
    CC: David Henningsson
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • On the Dell Optiplex 3030 machine (codec Subsystem Id: 0x10280623),
    no external microphone can be detected when plugging a 3-ring
    headset. If we add "model=dell-headset-multi" for the
    snd-hda-intel.ko, the problem will disappear.

    BugLink: https://bugs.launchpad.net/hwe-somerville/+bug/1259435
    CC: David Henningsson
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • If snd_dmaengine_pcm_register()'s call to snd_soc_add_platform() fails,
    all objects allocated during registration are leaked. Fix this by adding
    error-handling code.

    Signed-off-by: Stephen Warren
    Acked-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown

    Stephen Warren
     
  • If we update it here, the set_bias_level() of Codec driver won't be normally
    called and we will then miss some essential procedures in set_bias_level() of
    the Codec driver. Thus drop it.

    Signed-off-by: Nicolin Chen
    Signed-off-by: Mark Brown

    Nicolin Chen
     
  • In tegra*_i2s_set_fmt(), in the (fmt == SND_SOC_DAIFMT_CBM_CFM) case,
    "val" is never assigned to, but left uninitialized. The other case does
    initialized it. Fix this by initializing val at the start of the
    function, and only ever ORing into it.

    Update the handling of "mask" so it works the same way for consistency.

    Update tegra20_spdif.c to use the same code-style for consistency, even
    though it doesn't happen to suffer from the same problem at present.

    Signed-off-by: Stephen Warren
    Reviewed-by: Thierry Reding
    Signed-off-by: Mark Brown
    Fixes: 0f163546a772 ("ASoC: tegra: use regmap more directly")
    Cc:

    Stephen Warren
     

06 Dec, 2013

2 commits


05 Dec, 2013

2 commits

  • DSPCLK_DIV can be only generated correctly after enabling SYSCLK. But if the
    current bias_level hasn't reached SND_SOC_BIAS_ON, DAPM won't enable SYSCLK,
    which would cause the calculation result from DSPCLK_DIV invalid since bit
    DSPCLK_DIV will be finally turned to its true value after DAPM enables SYSCLK
    while the driver won't calculate it again for the current instance. In this
    circumstance, a playback which needs non-zero DSPCLK_DIV would be distorted
    due to unexpected clock frequency resulted from an invalid DSPCLK_DIV value.

    So this patch provisionally enables the SYSCLK to get a valid DSPCLK_DIV for
    calculation and then disables it afterward.

    Signed-off-by: Nicolin Chen
    Acked-by: Charles Keepax
    Signed-off-by: Mark Brown

    Nicolin Chen
     
  • This patch add quirk for Acer Aspire E-572:
    - fix external mic
    - limit mic boost for internal mic with maximal noise level of -24dB

    Signed-off-by: Oleksij Rempel
    Signed-off-by: Takashi Iwai

    Oleksij Rempel
     

04 Dec, 2013

10 commits


03 Dec, 2013

1 commit

  • Create single model for HP.
    The headset jack module was difference between other chrome book.
    It need to manual control Mic jack detect.

    Chrome OS loaded driver by models. Remove old assigned fixup table from
    ALC269 fixup list entry.

    Signed-off-by: Kailang Yang
    Signed-off-by: Takashi Iwai

    Kailang Yang