28 Mar, 2012

1 commit


21 Feb, 2012

1 commit


02 Feb, 2012

4 commits


01 Feb, 2012

2 commits

  • This typo caused the wrong codec's nid to be checked for wcaps type.
    As a result, sometimes speakers would duplicate the output sent to
    HDMI output.

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

    David Henningsson
     
  • If cs_automic is called twice (like it is during init) while the mic
    is present, it will over-write the last_input with the new one,
    causing it to switch back to the automic input when the mic is
    unplugged. This leaves the driver in a state (cur_input, last_input,
    and automix_idx the same) where the internal mic can not be selected
    until it is rebooted without the mic attached.

    Check that the mic hasn't already been switched to before setting
    last_input.

    Signed-off-by: Dylan Reid
    Cc:
    Signed-off-by: Takashi Iwai

    Dylan Reid
     

31 Jan, 2012

3 commits

  • Takashi Iwai
     
  • The user reports that model=auto works better than current handling
    on a 3.2 based kernel (with jack detection patches backported).
    Since model=auto is what we prefer these days anyway, the quirk
    should be removed.

    Alsa-info for the relevant machine:
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/923316/+attachment/2702812/+files/alsa-info.txt.Pbfno2x7bp

    BugLink: https://bugs.launchpad.net/bugs/923316
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • If a codec has both a front and a rear Line In, two controls both
    named "Line Jack" will be created, which causes parsing to fail.
    While a long term solution might be to name the jacks differently,
    this extra check is consistent with what is already being done in many
    auto-parsers, and will also protect against other cases when two
    inputs have the same label.

    BugLink: https://bugs.launchpad.net/bugs/923409
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     

30 Jan, 2012

2 commits

  • It turned out that other ASUS laptops require the similar fix to
    enable the VREF on the pin 0x0f for the secret output amp, not only
    ASUS A6Rp. Moreover, it's required even when the pin is being used
    as the output. Thus, writing a fixed value doesn't work always.

    This patch applies the VREF-fix for all ASUS laptops with ALC861/660
    in a fixup function that checks the current value and turns on only
    the VREF value no matter whether input or output direction is set.

    The automute function is modified as well to keep the pin VREF upon
    muting/unmuting via pin-control; otherwise the pin VREF is reset at
    plugging/unplugging a jack.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42588

    Cc: [v3.2+]
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The Openmoko GTA01 machine has been removed from the machine ID database,
    so we need to remove references to it as well.

    Without that fix we have:
    sound/soc/samsung/neo1973_wm8753.c: In function ‘neo1973_wm8753_init’:
    sound/soc/samsung/neo1973_wm8753.c:325:2: error: implicit declaration of function ‘machine_is_neo1973_gta01’

    Signed-off-by: Denis 'GNUtoo' Carikli
    Signed-off-by: Mark Brown

    Denis 'GNUtoo' Carikli
     

28 Jan, 2012

1 commit


27 Jan, 2012

2 commits


26 Jan, 2012

5 commits


25 Jan, 2012

3 commits


24 Jan, 2012

7 commits

  • If copy_from_user() does not return 0 we'll leak the memory we
    allocated for 'params' when that variable goes out of scope.

    Also a small CodingStyle cleanup: Use braces on both branches of
    if/else when one branch needs it.

    Signed-off-by: Jesper Juhl
    Acked-by: Vinod Koul
    Signed-off-by: Takashi Iwai

    Jesper Juhl
     
  • - check SDAC bit of AC97 primary codec when create "rear" device 3,
    "4ch" device 2 and "4ch Duplication" switch as the card need a four channels
    AC97 codec to support surround40.

    Signed-off-by: Raymond Yau
    Signed-off-by: Takashi Iwai

    Raymond Yau
     
  • In wm2000_i2c_probe(), if we take the true branch in

    "
    ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_wm2000,
    NULL, 0);
    if (ret != 0)
    goto err_fw;
    "

    then we'll release_firmware(fw) at the 'err_fw' label. But we've already
    done that just a few lines above. That's a use-after-free bug.

    This patch restructures the code so that we always call
    release_firmware(fw) before leaving the function, but only ever call
    it once.
    This means that we have to initialize 'fw' to NULL since some paths
    may now end up calling it without having called request_firmware(),
    but since request_firmware() deals gracefully with NULL pointers, we
    are fine if we just NULL initialize it.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Mark Brown

    Jesper Juhl
     
  • To print a value of type size_t one should use %zd, not %d.

    Signed-off-by: Jesper Juhl
    Signed-off-by: Mark Brown

    Jesper Juhl
     
  • The recent change of the power-widget handling for IDT codecs caused
    the silent output from the docking-station line-out jack. This was
    partially fixed by the commit f2cbba7602383cd9cdd21f0a5d0b8bd1aad47b33
    "ALSA: hda - Fix the lost power-setup of seconary pins after PM resume".
    But the line-out on the docking-station is still silent when booted
    with the jack plugged even by this fix.

    The remainig bug is that the power-widget is set off in stac92xx_init()
    because the pins in cfg->line_out_pins[] aren't checked there properly
    but only hp_pins[] are checked in is_nid_hp_pin().

    This patch fixes the problem by checking both HP and line-out pins
    and leaving the power-map correctly.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42637

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The user reports that model=auto works fine for him. Using
    model=auto bring in new features such as jack detection notification
    to userspace.

    Alsa info is available at http://paste.ubuntu.com/805351/

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • The commit 2ae66c26550cd94b0e2606a9275eb0ab7070ad0e
    ALSA: hda: option to enable arbitrary buffer/period sizes
    introduced a regression on machines with Intel controller and Nvidia
    HDMI. The reason is that the driver modifies the global variable
    align_buffer_size when an Intel controller is found, and the Nvidia
    HDMI controller is probed after Intel although Nvidia chips require
    the aligned buffers.

    This patch fixes the problem by moving the flag into the local struct
    so that it's not affected by other controllers.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42567

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

23 Jan, 2012

1 commit


21 Jan, 2012

1 commit

  • On a mx28evk board the following errors happens on mxs-sgtl5000 probe:

    [ 0.660000] saif0_clk_set_rate: divider writing timeout
    [ 0.670000] mxs-sgtl5000: probe of mxs-sgtl5000.0 failed with error -110
    [ 0.670000] ALSA device list:
    [ 0.680000] No soundcards found.

    This timeout happens because clk_set_rate will result in writing to the DIV bits
    of register HW_CLKCTRL_SAIF0 with the saif clock gated (CLKGATE bit set to one).

    MX28 Reference states the following about CLKGATE:

    "The DIV field can change ONLY when this clock gate bit field is low."

    So call clk_prepare_enable prior to clk_set_rate to fix this problem.

    After this change the mxs-saif driver can be correctly probed and audio is functional.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Mark Brown

    Fabio Estevam
     

20 Jan, 2012

7 commits