At Wed, 24 Nov 2010 14:33:19 +0100, David Henningsson wrote: > > [1 <text/plain; ISO-8859-1 (7bit)>] > After Kailang's patch for ALC887-VD, that makes it take the patch_alc662 > code path, I needed to add this patch to make headphones work. The > codec-proc for that machine is attached. > > The patch enables ALC887-VD to use the DAC at nid 0x26, > which makes it possible to use this DAC to control Headphone > volume. Good catch. Applied now. Thanks! Takashi > > -- > David Henningsson, Canonical Ltd. > http://launchpad.net/~diwic > [2 0001-ALSA-HDA-Add-an-extra-DAC-for-Realtek-ALC887-VD.patch <text/x-patch (7bit)>] > >From ae2dd2a5768f6306cd2a375012c1e27f06c185ea Mon Sep 17 00:00:00 2001 > From: David Henningsson <david.henningsson@xxxxxxxxxxxxx> > Date: Wed, 24 Nov 2010 14:17:47 +0100 > Subject: [PATCH] ALSA: HDA: Add an extra DAC for Realtek ALC887-VD > > The patch enables ALC887-VD to use the DAC at nid 0x26, > which makes it possible to use this DAC for e g Headphone > volume. > > Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> > --- > sound/pci/hda/patch_realtek.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > index 434d817..aa7fa51 100644 > --- a/sound/pci/hda/patch_realtek.c > +++ b/sound/pci/hda/patch_realtek.c > @@ -18973,6 +18973,8 @@ static inline hda_nid_t alc662_mix_to_dac(hda_nid_t nid) > return 0x02; > else if (nid >= 0x0c && nid <= 0x0e) > return nid - 0x0c + 0x02; > + else if (nid == 0x26) /* ALC887-VD has this DAC too */ > + return 0x25; > else > return 0; > } > @@ -18981,7 +18983,7 @@ static inline hda_nid_t alc662_mix_to_dac(hda_nid_t nid) > static hda_nid_t alc662_dac_to_mix(struct hda_codec *codec, hda_nid_t pin, > hda_nid_t dac) > { > - hda_nid_t mix[4]; > + hda_nid_t mix[5]; > int i, num; > > num = snd_hda_get_connections(codec, pin, mix, ARRAY_SIZE(mix)); > -- > 1.7.1 > > [3 alc887vd.txt <text/plain (7bit)>] > Codec: Realtek ALC887-VD > Address: 0 > AFG Function Id: 0x1 (unsol 1) > Vendor Id: 0x10ec0887 > Subsystem Id: 0x102804aa > Revision Id: 0x100302 > No Modem Function Group found > Default PCM: > rates [0x5f0]: 32000 44100 48000 88200 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Default Amp-In caps: N/A > Default Amp-Out caps: N/A > GPIO: io=2, o=0, i=0, unsolicited=1, wake=0 > IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 > IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 > Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out > Control: name="Front Playback Volume", index=0, device=0 > ControlAmp: chs=3, dir=Out, idx=0, ofs=0 > Device: name="ALC887-VD Analog", type="Audio", device=0 > Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 > Amp-Out vals: [0x00 0x00] > Converter: stream=5, channel=0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out > Control: name="Surround Playback Volume", index=0, device=0 > ControlAmp: chs=3, dir=Out, idx=0, ofs=0 > Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 > Amp-Out vals: [0x00 0x00] > Converter: stream=5, channel=0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x04 [Audio Output] wcaps 0x41d: Stereo Amp-Out > Control: name="Center Playback Volume", index=0, device=0 > ControlAmp: chs=1, dir=Out, idx=0, ofs=0 > Control: name="LFE Playback Volume", index=0, device=0 > ControlAmp: chs=2, dir=Out, idx=0, ofs=0 > Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 > Amp-Out vals: [0x00 0x00] > Converter: stream=5, channel=0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x05 [Audio Output] wcaps 0x41d: Stereo Amp-Out > Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 > Amp-Out vals: [0x40 0x40] > Converter: stream=0, channel=0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital > Control: name="IEC958 Playback Con Mask", index=0, device=0 > Control: name="IEC958 Playback Pro Mask", index=0, device=0 > Control: name="IEC958 Playback Default", index=0, device=0 > Control: name="IEC958 Playback Switch", index=0, device=0 > Control: name="IEC958 Default PCM Playback Switch", index=0, device=0 > Device: name="ALC887-VD Digital", type="SPDIF", device=1 > Converter: stream=5, channel=0 > Digital: Enabled > Digital category: 0x0 > PCM: > rates [0x5f0]: 32000 44100 48000 88200 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono > Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In > Control: name="Capture Switch", index=1, device=0 > Control: name="Capture Volume", index=1, device=0 > Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 > Amp-In vals: [0x00 0x00] > Converter: stream=0, channel=0 > SDI-Select: 0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x23 > Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In > Control: name="Capture Switch", index=0, device=0 > Control: name="Capture Volume", index=0, device=0 > Device: name="ALC887-VD Analog", type="Audio", device=0 > Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1 > Amp-In vals: [0x2e 0x2e] > Converter: stream=1, channel=0 > SDI-Select: 0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x22 > Node 0x0a [Audio Input] wcaps 0x100711: Stereo Digital > Converter: stream=0, channel=0 > SDI-Select: 0 > Digital: > Digital category: 0x0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x1f > Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Control: name="Rear Mic Playback Volume", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=0, ofs=0 > Control: name="Rear Mic Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=0, ofs=0 > Control: name="Front Mic Playback Volume", index=1, device=0 > ControlAmp: chs=3, dir=In, idx=1, ofs=0 > Control: name="Front Mic Playback Switch", index=1, device=0 > ControlAmp: chs=3, dir=In, idx=1, ofs=0 > Control: name="Line Playback Volume", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=2, ofs=0 > Control: name="Line Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=2, ofs=0 > Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 > Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] > Connection: 10 > 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 > Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Control: name="Front Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=0, ofs=0 > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x80 0x80] [0x00 0x00] > Connection: 2 > 0x02 0x0b > Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Control: name="Surround Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=0, ofs=0 > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x80 0x80] [0x00 0x00] > Connection: 2 > 0x03 0x0b > Node 0x0e [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Control: name="Center Playback Switch", index=0, device=0 > ControlAmp: chs=1, dir=In, idx=0, ofs=0 > Control: name="LFE Playback Switch", index=0, device=0 > ControlAmp: chs=2, dir=In, idx=0, ofs=0 > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x80 0x80] [0x00 0x00] > Connection: 2 > 0x04 0x0b > Node 0x0f [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x00 0x00] [0x80 0x80] > Connection: 2 > 0x05 0x0b > Node 0x10 [Audio Output] wcaps 0x611: Stereo Digital > Converter: stream=0, channel=0 > Digital: > Digital category: 0x0 > PCM: > rates [0x5f0]: 32000 44100 48000 88200 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x11 [Pin Complex] wcaps 0x400781: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x411111f0: [N/A] Speaker at Ext Rear > Conn = 1/8, Color = Black > DefAssociation = 0xf, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x10 > Node 0x12 [Pin Complex] wcaps 0x400401: Stereo > Pincap 0x00000020: IN > Pin Default 0x411111f0: [N/A] Speaker at Ext Rear > Conn = 1/8, Color = Black > DefAssociation = 0xf, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x00: > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono > Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x0001003e: IN OUT HP EAPD Detect Trigger > EAPD 0x2: EAPD > Pin Default 0x01014010: [Jack] Line Out at Ext Rear > Conn = 1/8, Color = Green > DefAssociation = 0x1, Sequence = 0x0 > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x0c > Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x00000036: IN OUT Detect Trigger > Pin Default 0x01011012: [Jack] Line Out at Ext Rear > Conn = 1/8, Color = Black > DefAssociation = 0x1, Sequence = 0x2 > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x0d > Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x00000036: IN OUT Detect Trigger > Pin Default 0x01016011: [Jack] Line Out at Ext Rear > Conn = 1/8, Color = Orange > DefAssociation = 0x1, Sequence = 0x1 > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x0e > Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x00000036: IN OUT Detect Trigger > Pin Default 0x01012014: [Jack] Line Out at Ext Rear > Conn = 1/8, Color = Grey > DefAssociation = 0x1, Sequence = 0x4 > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x0f > Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out > Control: name="Rear Mic Boost", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=0, ofs=0 > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x80 0x80] > Pincap 0x00003736: IN OUT Detect Trigger > Vref caps: HIZ 50 GRD 80 100 > Pin Default 0x01a19830: [Jack] Mic at Ext Rear > Conn = 1/8, Color = Pink > DefAssociation = 0x3, Sequence = 0x0 > Pin-ctls: 0x24: IN VREF_80 > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 5 > 0x0c* 0x0d 0x0e 0x0f 0x26 > Node 0x19 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out > Control: name="Front Mic Boost", index=0, device=0 > ControlAmp: chs=3, dir=In, idx=0, ofs=0 > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x80 0x80] > Pincap 0x0000373e: IN OUT HP Detect Trigger > Vref caps: HIZ 50 GRD 80 100 > Pin Default 0x02a19831: [Jack] Mic at Ext Front > Conn = 1/8, Color = Pink > DefAssociation = 0x3, Sequence = 0x1 > Pin-ctls: 0x24: IN VREF_80 > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 5 > 0x0c* 0x0d 0x0e 0x0f 0x26 > Node 0x1a [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x80 0x80] > Pincap 0x00003736: IN OUT Detect Trigger > Vref caps: HIZ 50 GRD 80 100 > Pin Default 0x0181303f: [Jack] Line In at Ext Rear > Conn = 1/8, Color = Blue > DefAssociation = 0x3, Sequence = 0xf > Pin-ctls: 0x20: IN VREF_HIZ > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 5 > 0x0c* 0x0d 0x0e 0x0f 0x26 > Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out > Control: name="Headphone Playback Switch", index=0, device=0 > ControlAmp: chs=3, dir=Out, idx=0, ofs=0 > Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 > Amp-In vals: [0x00 0x00] > Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-Out vals: [0x00 0x00] > Pincap 0x0001373e: IN OUT HP EAPD Detect Trigger > Vref caps: HIZ 50 GRD 80 100 > EAPD 0x2: EAPD > Pin Default 0x0221401f: [Jack] HP Out at Ext Front > Conn = 1/8, Color = Green > DefAssociation = 0x1, Sequence = 0xf > Pin-ctls: 0xc0: OUT HP VREF_HIZ > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 5 > 0x0c 0x0d 0x0e 0x0f 0x26* > Node 0x1c [Pin Complex] wcaps 0x400481: Stereo > Pincap 0x00000024: IN Detect > Pin Default 0x411111f0: [N/A] Speaker at Ext Rear > Conn = 1/8, Color = Black > DefAssociation = 0xf, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x20: IN > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x1d [Pin Complex] wcaps 0x400400: Mono > Pincap 0x00000020: IN > Pin Default 0x4005e601: [N/A] Line Out at Ext N/A > Conn = Optical, Color = White > DefAssociation = 0x0, Sequence = 0x1 > Pin-ctls: 0x20: IN > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital > Pincap 0x00000014: OUT Detect > Pin Default 0x01451120: [Jack] SPDIF Out at Ext Rear > Conn = Optical, Color = Black > DefAssociation = 0x2, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x40: OUT > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Connection: 1 > 0x06 > Node 0x1f [Pin Complex] wcaps 0x400681: Stereo Digital > Pincap 0x00000024: IN Detect > Pin Default 0x411111f0: [N/A] Speaker at Ext Rear > Conn = 1/8, Color = Black > DefAssociation = 0xf, Sequence = 0x0 > Misc = NO_PRESENCE > Pin-ctls: 0x20: IN > Unsolicited: tag=00, enabled=0 > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono > Processing caps: benign=0, ncoeff=24 > Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono > Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Control: name="Input Source", index=0, device=0 > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] > Connection: 12 > 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b 0x12 > Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Control: name="Input Source", index=1, device=0 > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] > Connection: 11 > 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b > Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono > Node 0x25 [Audio Output] wcaps 0x41d: Stereo Amp-Out > Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 > Amp-Out vals: [0x40 0x40] > Converter: stream=0, channel=0 > PCM: > rates [0x560]: 44100 48000 96000 192000 > bits [0xe]: 16 20 24 > formats [0x1]: PCM > Power states: D0 D1 D2 D3 EPSS > Power: setting=D0, actual=D0 > Node 0x26 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In > Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 > Amp-In vals: [0x00 0x00] [0x80 0x80] > Connection: 2 > 0x25 0x0b > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel