ALSA: hda: enable speaker output for Compaq 6530s/6531s

HP Compaq 6530s and 6531s internal speaker is silence or becomes silence
within 1 minute after fresh boot. It is found that pin 0x1c must be set to
PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and
speaker pin 0x16 seem to be unrelated.

The codec differences before/after patch are:

@@ Node 0x17 [Pin Complex] wcaps 0x40020b:
Pin Default 0x41a6e130: [N/A] Mic at Ext Rear
Conn = Digital, Color = White
DefAssociation = 0x3, Sequence = 0x0
Misc = NO_PRESENCE
- Pin-ctls: 0x24: IN
+ Pin-ctls: 0x40: OUT
@@ Node 0x1c [Pin Complex] wcaps 0x40018d:
Pin Default 0x41813021: [N/A] Line In at Ext Rear
Conn = 1/8, Color = Blue
DefAssociation = 0x2, Sequence = 0x1
- Pin-ctls: 0x24: IN VREF_80
+ Pin-ctls: 0x40: OUT VREF_HIZ
Unsolicited: tag=00, enabled=0
Connection: 1
0x24

Tests show that it won't impact (external) Mic recording.

Reported-by: "Lin, Ming M" <ming.m.lin@intel.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by Wu Fengguang and committed by Takashi Iwai 150fe14c dd704698

+4 -2
+4 -2
sound/pci/hda/patch_analog.c
··· 3823 /* Port-F (int speaker) mixer - route only from analog mixer */ 3824 {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, 3825 {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, 3826 - /* Port-F pin */ 3827 - {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, 3828 {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, 3829 /* Port-C pin - internal mic-in */ 3830 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, 3831 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, 0x7002}, /* raise mic as default */
··· 3823 /* Port-F (int speaker) mixer - route only from analog mixer */ 3824 {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, 3825 {0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, 3826 + /* Port-F (int speaker) pin */ 3827 + {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, 3828 {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, 3829 + /* required for compaq 6530s/6531s speaker output */ 3830 + {0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, 3831 /* Port-C pin - internal mic-in */ 3832 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, 3833 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, 0x7002}, /* raise mic as default */