16 Jan, 2015

6 commits


17 Dec, 2014

2 commits


06 Dec, 2014

1 commit


02 Dec, 2014

1 commit


29 Nov, 2014

1 commit

  • Pull sound fixes from Takashi Iwai:
    "No excitement, here are only minor fixes: an endian fix for the new
    DSD format we added in 3.18, a fix for HP mute LED, and a fix for
    Native Instrument quirk"

    * tag 'sound-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: pcm: Add big-endian DSD sample formats and fix XMOS DSD sample format
    ALSA: hda - One more HP machine needs to change mute led quirk
    ALSA: usb-audio: Use snd_usb_ctl_msg() for Native Instruments quirk

    Linus Torvalds
     

24 Nov, 2014

2 commits

  • A number of radeon cards have a HW limitation causing them to be
    unable to generate the full 64-bit of address bits for MSIs. This
    breaks MSIs on some platforms such as POWER machines.

    We used to have a powerpc specific quirk to address that on a
    single card, but this doesn't scale very well, this is better
    put under control of the drivers who know precisely what a given
    HW revision can do.

    We now have a generic quirk in the PCI code. We should set it
    appropriately for all radeon's from the audio driver.

    Signed-off-by: Benjamin Herrenschmidt
    Reviewed-by: Takashi Iwai
    Reviewed-by: Alex Deucher
    CC:

    Benjamin Herrenschmidt
     
  • AMD/ATI HDMI controller chip models, we already have a filter to lower
    to 32bit DMA, but the rest are supposed to be working with 64bit
    although the hardware doesn't really work with 63bit but only with 40
    or 48bit DMA. In this patch, we take 40bit DMA for safety for the
    AMD/ATI controllers as the graphics drivers does.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Benjamin Herrenschmidt
    CC:

    Takashi Iwai
     

21 Nov, 2014

1 commit

  • The machine originally use the quirk ALC269_FIXUP_HP_GPIO_MIC1_LED,
    but the LED doesn't work at all.

    After this change, the machine will change to use
    ALC269_FIXUP_HP_MUTE_LED_MIC1 through pin_fixup_tbl[], and the LED
    works well.

    BugLink: https://bugs.launchpad.net/bugs/1389497
    Tested-by: TieFu Chen
    Cc: Kailang Yang
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     

18 Nov, 2014

2 commits

  • The microphone mute led on the Latitude E5550 can't work. We need to
    apply DELL_WMI_MIC_MUTE_LED quirk to this machine.

    The machine uses alc293 codec and already applied the quirk
    ALC293_FIXUP_DELL1_MIC_NO_PRESENCE through pin_fixup_tbl[].

    Here we just let DELL_WMI_MIC_MUTE_LED be chained to
    ALC269_FIXUP_HEADSET_MODE, then the machine will have these
    quirks ALC293_FIXUP_DELL1_MIC_NO_PRESENCE-->
    ALC269_FIXUP_HEADSET_MODE-->ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED.

    BugLink: https://bugs.launchpad.net/bugs/1381856
    Reported-and-tested-by: Po-Hsu Lin
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • We have one more Dell machine needs DELL_WMI_MIC_MUTE_LED quirk, but
    the machine uses alc293 instead of alc255. So if
    DELL_WMI_MIC_MUTE_LED still chain ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
    the machine can't use this quirk.

    To change this situation, let the DELL_WMI_MIC_MUTE_LED to be a
    standalone quirk, and let other quirks chain it.

    After this change, this quirk can be chained to any existing quirks,
    and as a result, it is possible that this quirk is applied to
    a non-Dell machine or a Dell machine without mic mute led on it, but
    it is still safe since alc_fixup_dell_wmi() will return an error in
    these situations.

    And remove the quirk for machine with subsystem id 0x6010 and 0x601f,
    these two machines will fall back to the quirk
    ALC255_FIXUP_DELL1_MIC_NO_PRESENCE-->ALC255_FIXUP_HEADSET_MODE-->
    ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED through pin_fixup_tbl[].

    BugLink: https://bugs.launchpad.net/bugs/1381856
    Reported-and-tested-by: Po-Hsu Lin
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     

13 Nov, 2014

1 commit

  • Lenovo Ideapad Z560 has a mute LED that is controlled via EAPD pin
    0x1b on CX20585 codec. (EAPD bit on corresponds to mute LED on.)
    The machine doesn't need other EAPD, so the fixup concentrates on
    controlling EAPD 0x1b following the vmaster state (but inversely).

    Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=665315
    Reported-by: Szymon Kowalczyk
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

12 Nov, 2014

1 commit

  • This will fix no sound in Linux system after reboot from windows.

    Change log:
    - alc662_fill_coef() is replaced with alc_fill_eapd_coef_idx()
    and move into alc_auto_init_amp().
    - For ALC262, ALC267, ALC268, ALC269, ALC233, ALC255, ALC280, ALC282,
    ALC283, ALC284, ALC285, ALC286, ALC288, ALC290, ALC292, ALC293, ALC294,
    ALC668, ALC888VC, ALC888VD, ALC891, ALC892, ALC898 and ALC1150, add update
    COEF control for EAPD setting.
    - Remove alc269_fill_coef() for update EAPD control line.

    ADDITIONAL NOTE:
    Many Realtek cdoecs have a COEF bit to switch the master amp control
    between COEF and EAPD. Windows drivers seem using COEF while we use
    EAPD, which is more standard. As a result, some system suffer from
    the silent output when booting after Windows. This patch sets the
    COEF bits on the relevant codecs properly to switch to EAPD control.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=87771
    Signed-off-by: Kailang Yang
    Signed-off-by: Takashi Iwai

    Kailang Yang
     

09 Nov, 2014

1 commit


06 Nov, 2014

1 commit


05 Nov, 2014

1 commit

  • Without the fix, the mute led can't work on these three machines.

    After apply this fix, these three machines will fall back on the led
    control quirk as below, and through testing, the mute led works very
    well.
    PIN_QUIRK(0x10ec0282, 0x103c, "HP", ALC269_FIXUP_HP_LINE1_MIC1_LED,
    ALC282_STANDARD_PINS,
    {0x12, 0x90a60140},
    ...

    BugLink: https://bugs.launchpad.net/bugs/1389497
    Tested-by: TieFu Chen
    Cc: Kailang Yang
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     

30 Oct, 2014

4 commits

  • The default EAPD control uses verb command to control EAPD. Some codec
    does not have verb command for EAPD. It needs to control by hidden
    register.

    This update will avoid wrong behavior for some codec. This patch will
    fix double setup for EAPD. It just needs to turn on by one site for
    verb command or hidden register controlled.

    Detailed changes:
    - alc889_coef_init() is replaced with alc_update_coef_idx() with a
    correct COEF value.
    - for ALC262, ALC887 and ALC900, the EAPD setup via the hidden
    register is removed because this rather conflicts with the EAPD verb
    setup.
    - For ALC888-VC, also the hidden register access is removed in
    alc888_coef_init().
    - Remove the dead #if 0 code for ALC267/ALC268.

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

    Kailang Yang
     
  • These three HP machines all have the same pin config, so we can
    change it to a pin quirk.

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

    David Henningsson
     
  • These HP machines needs GPIO 4 low to enable the headphone amplifier.
    In addition, we still need to control LEDs via vref and GPIO.

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

    David Henningsson
     
  • Adding ultra doch support for Lenovo Thinkpad X240 (17aa:2214).
    [Actually replaced the entry with ALC292_FIXUP_TPT440_DOCK -- tiwai]

    Signed-off-by: Lukas Bossard
    Cc:
    Signed-off-by: Takashi Iwai

    Lukas Bossard
     

29 Oct, 2014

1 commit

  • CMI8888 shows the stuttering playback when the snooping is disabled
    on the audio buffer. Meanwhile, we've got reports that CORB/RIRB
    doesn't work in the snooped mode. So, as a compromise, disable the
    snoop only for CORB/RIRB and enable the snoop for the stream buffers.

    The resultant patch became a bit ugly, unfortunately, but we still can
    live with it.

    Reported-and-tested-by: Geoffrey McRae
    Cc: # 3.17+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

27 Oct, 2014

2 commits


24 Oct, 2014

3 commits


20 Oct, 2014

3 commits

  • We implemented in a wrong way for mute LED on Lenovo Ideapad; the bit
    must be flipped.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=16373
    Fixes: 3e887f379d8a ('ALSA: hda - Add mute LED support to Lenovo Ideapad')
    Cc: # 3.15+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The ELD ALSA control change event is sent by hdmi_present_sense() when
    eld_changed is true.

    Currently, it is only true when the ELD buffer contents have been
    modified. However, the user-visible ELD controls also change to a
    zero-length value and back when eld_valid is unset/set, and no event is
    currently sent in such cases (such as when unplugging or replugging a
    sink).

    Fix the code to always set eld_changed if eld_valid value is changed,
    and therefore to always send the change event when the user-visible
    value changes.

    Signed-off-by: Anssi Hannula
    Cc: David Henningsson
    Cc: # 3.9+
    Signed-off-by: Takashi Iwai

    Anssi Hannula
     
  • This patch sets the headphones mode to default before suspending
    which helps avoid the pop noise on headphones

    Signed-off-by: Harsha Priya
    Cc:
    Signed-off-by: Takashi Iwai

    Harsha Priya
     

15 Oct, 2014

1 commit


14 Oct, 2014

1 commit

  • The emu10k1 voice allocator takes voice_lock spinlock. When there is
    no empty stream available, it tries to release a voice used by synth,
    and calls get_synth_voice. The callback function,
    snd_emu10k1_synth_get_voice(), however, also takes the voice_lock,
    thus it deadlocks.

    The fix is simply removing the voice_lock holds in
    snd_emu10k1_synth_get_voice(), as this is always called in the
    spinlock context.

    Reported-and-tested-by: Arthur Marsh
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

08 Oct, 2014

1 commit


07 Oct, 2014

3 commits