[lkml]   [2008]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[ALSA] [regression] No sound on ALC861 Analog with current git

    Hi Takashi,

    I've found that my sound card is muted with current git: it's recognized,
    controls are set correctly, etc., but there's no sound in speakers. I've
    bisected it down and found that this issue was caused by:

    commit f6c7e5461e9046445d50c5c7a9a4587824239623
    [ALSA] hda-codec - Fix auto-configuration of Realtek codecs

    This patch fixes some bugs in the auto-configurator of Realtek codecs:
    - add missing pin set-up for speaker pins
    - fix the speaker auto-mute function not to conflict with the existing
    "Speaker" mixer switch

    Signed-off-by: Takashi Iwai <>

    Exact problem lays in alc861_auto_set_output_and_unmute() migrated to
    alc_set_pin_output(), which now calls:
    snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
    Previously alc861_auto_set_output_and_unmute() was using dac_idx instead of nid.
    I've added some silly printks and it looks like on my system there's a mismatch
    which is causing this problem:
    Called alc861_init_multi_out. Line outs: 1
    Called alc861_auto_set_output_and_unmute with dac_idx: 3, nid: 11
    Called alc_set_pin_output with pin_type: 64

    Reverting change in alc861_auto_set_output_and_unmute() fixes problem (rfc patch

    Details about sound card:
    $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    $ /sbin/lspci -s 00:1b.0 -vvv
    00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition
    Audio Controller (rev 02)
    Subsystem: Fujitsu Siemens Computer GmbH Unknown device 10c1
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
    Stepping- SERR- FastB2B-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
    <MAbort- >SERR- <PERR-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 21
    Region 0: Memory at d4540000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
    Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
    Address: 0000000000000000 Data: 0000
    Capabilities: [70] Express Unknown type IRQ 0
    Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
    Device: Latency L0s <64ns, L1 <1us
    Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
    Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
    Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
    Link: Supported Speed unknown, Width x0, ASPM unknown, Port 0
    Link: Latency L0s <64ns, L1 <1us
    Link: ASPM Disabled CommClk- ExtSynch-
    Link: Speed unknown, Width x0
    Capabilities: [100] Virtual Channel
    Capabilities: [130] Unknown (5)


    From: Jacek Luczak <>

    [ALSA] Revert migration to alc_set_pin_output() in

    Change done by:
    commit f6c7e5461e9046445d50c5c7a9a4587824239623
    [ALSA] hda-codec - Fix auto-configuration of Realtek codecs
    broke sound on ALC861 Analog.

    Signed-off-by: Jacek Luczak <>

    patch_realtek.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
    index d9783a4..0a50205 100644
    --- a/sound/pci/hda/patch_realtek.c
    +++ b/sound/pci/hda/patch_realtek.c
    @@ -11902,7 +11902,10 @@ static void alc861_auto_set_output_and_unmute(struct
    hda_codec *codec,
    hda_nid_t nid,
    int pin_type, int dac_idx)
    - alc_set_pin_output(codec, nid, pin_type);
    + snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
    + pin_type);
    + snd_hda_codec_write(codec, dac_idx, 0, AC_VERB_SET_AMP_GAIN_MUTE,

    static void alc861_auto_init_multi_out(struct hda_codec *codec)

     \ /
      Last update: 2008-05-02 21:23    [W:0.027 / U:22.188 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site