aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-12-17 07:48:29 -0500
committerTakashi Iwai <tiwai@suse.de>2008-12-18 03:06:29 -0500
commite28d83223a1e5672174dcdc6b73c1be3fa3de877 (patch)
treea8a764d049b0f77da850f394cab7088c068ee827
parent1bda71282ded6a2e09a2db7c8884542fb46bfd4f (diff)
ALSA: hda - Fix silent HP output on D975
Some desktops seems to have no HP/mic jack detection on the front panel, which results in the silent output in the recent driver, because the driver mutes the output (to save power) when no plug is detected. This patch adds a new model that disables the jack-detection. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt1
-rw-r--r--sound/pci/hda/patch_sigmatel.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index 3cd2ad958176..a57cd5438b75 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -1063,6 +1063,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1063 1063
1064 STAC9227/9228/9229/927x 1064 STAC9227/9228/9229/927x
1065 ref Reference board 1065 ref Reference board
1066 ref-no-jd Reference board without HP/Mic jack detection
1066 3stack D965 3stack 1067 3stack D965 3stack
1067 5stack D965 5stack + SPDIF 1068 5stack D965 5stack + SPDIF
1068 dell-3stack Dell Dimension E520 1069 dell-3stack Dell Dimension E520
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 5dd3e89f620a..d6fa401791c5 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -127,6 +127,7 @@ enum {
127}; 127};
128 128
129enum { 129enum {
130 STAC_D965_REF_NO_JD, /* no jack-detection */
130 STAC_D965_REF, 131 STAC_D965_REF,
131 STAC_D965_3ST, 132 STAC_D965_3ST,
132 STAC_D965_5ST, 133 STAC_D965_5ST,
@@ -2027,6 +2028,7 @@ static unsigned int dell_3st_pin_configs[14] = {
2027}; 2028};
2028 2029
2029static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = { 2030static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = {
2031 [STAC_D965_REF_NO_JD] = ref927x_pin_configs,
2030 [STAC_D965_REF] = ref927x_pin_configs, 2032 [STAC_D965_REF] = ref927x_pin_configs,
2031 [STAC_D965_3ST] = d965_3st_pin_configs, 2033 [STAC_D965_3ST] = d965_3st_pin_configs,
2032 [STAC_D965_5ST] = d965_5st_pin_configs, 2034 [STAC_D965_5ST] = d965_5st_pin_configs,
@@ -2035,6 +2037,7 @@ static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = {
2035}; 2037};
2036 2038
2037static const char *stac927x_models[STAC_927X_MODELS] = { 2039static const char *stac927x_models[STAC_927X_MODELS] = {
2040 [STAC_D965_REF_NO_JD] = "ref-no-jd",
2038 [STAC_D965_REF] = "ref", 2041 [STAC_D965_REF] = "ref",
2039 [STAC_D965_3ST] = "3stack", 2042 [STAC_D965_3ST] = "3stack",
2040 [STAC_D965_5ST] = "5stack", 2043 [STAC_D965_5ST] = "5stack",
@@ -4899,6 +4902,10 @@ static int patch_stac927x(struct hda_codec *codec)
4899 */ 4902 */
4900 codec->bus->needs_damn_long_delay = 1; 4903 codec->bus->needs_damn_long_delay = 1;
4901 4904
4905 /* no jack detecion for ref-no-jd model */
4906 if (spec->board_config == STAC_D965_REF_NO_JD)
4907 spec->hp_detect = 0;
4908
4902 return 0; 4909 return 0;
4903} 4910}
4904 4911