diff options
author | Jaroslav Kysela <perex@perex.cz> | 2010-02-16 05:19:18 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2010-02-16 05:19:18 -0500 |
commit | ba9341dfef6b0201cd30e3904dcd0a47d3dc35e0 (patch) | |
tree | d83637979db83bb9d5a23e190148b90b60c976d2 /sound/pci/ac97 | |
parent | d39e82db73eb876c60d00f00219d767b3be30307 (diff) | |
parent | f167e1d073278fe231bbdd5d6c24fb9d091aa544 (diff) |
Merge branch 'fixes' into devel
Diffstat (limited to 'sound/pci/ac97')
-rw-r--r-- | sound/pci/ac97/ac97_codec.c | 10 | ||||
-rw-r--r-- | sound/pci/ac97/ac97_id.h | 2 | ||||
-rw-r--r-- | sound/pci/ac97/ac97_patch.c | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index c11920623009..a7630e9edf8a 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -83,6 +83,7 @@ static const struct ac97_codec_id snd_ac97_codec_id_vendors[] = { | |||
83 | { 0x4e534300, 0xffffff00, "National Semiconductor", NULL, NULL }, | 83 | { 0x4e534300, 0xffffff00, "National Semiconductor", NULL, NULL }, |
84 | { 0x50534300, 0xffffff00, "Philips", NULL, NULL }, | 84 | { 0x50534300, 0xffffff00, "Philips", NULL, NULL }, |
85 | { 0x53494c00, 0xffffff00, "Silicon Laboratory", NULL, NULL }, | 85 | { 0x53494c00, 0xffffff00, "Silicon Laboratory", NULL, NULL }, |
86 | { 0x53544d00, 0xffffff00, "STMicroelectronics", NULL, NULL }, | ||
86 | { 0x54524100, 0xffffff00, "TriTech", NULL, NULL }, | 87 | { 0x54524100, 0xffffff00, "TriTech", NULL, NULL }, |
87 | { 0x54584e00, 0xffffff00, "Texas Instruments", NULL, NULL }, | 88 | { 0x54584e00, 0xffffff00, "Texas Instruments", NULL, NULL }, |
88 | { 0x56494100, 0xffffff00, "VIA Technologies", NULL, NULL }, | 89 | { 0x56494100, 0xffffff00, "VIA Technologies", NULL, NULL }, |
@@ -161,6 +162,7 @@ static const struct ac97_codec_id snd_ac97_codec_ids[] = { | |||
161 | { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix | 162 | { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix |
162 | { 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL }, | 163 | { 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL }, |
163 | { 0x53494c20, 0xffffffe0, "Si3036,8", mpatch_si3036, mpatch_si3036, AC97_MODEM_PATCH }, | 164 | { 0x53494c20, 0xffffffe0, "Si3036,8", mpatch_si3036, mpatch_si3036, AC97_MODEM_PATCH }, |
165 | { 0x53544d02, 0xffffffff, "ST7597", NULL, NULL }, | ||
164 | { 0x54524102, 0xffffffff, "TR28022", NULL, NULL }, | 166 | { 0x54524102, 0xffffffff, "TR28022", NULL, NULL }, |
165 | { 0x54524103, 0xffffffff, "TR28023", NULL, NULL }, | 167 | { 0x54524103, 0xffffffff, "TR28023", NULL, NULL }, |
166 | { 0x54524106, 0xffffffff, "TR28026", NULL, NULL }, | 168 | { 0x54524106, 0xffffffff, "TR28026", NULL, NULL }, |
@@ -213,6 +215,14 @@ static int snd_ac97_valid_reg(struct snd_ac97 *ac97, unsigned short reg) | |||
213 | { | 215 | { |
214 | /* filter some registers for buggy codecs */ | 216 | /* filter some registers for buggy codecs */ |
215 | switch (ac97->id) { | 217 | switch (ac97->id) { |
218 | case AC97_ID_ST_AC97_ID4: | ||
219 | if (reg == 0x08) | ||
220 | return 0; | ||
221 | /* fall through */ | ||
222 | case AC97_ID_ST7597: | ||
223 | if (reg == 0x22 || reg == 0x7a) | ||
224 | return 1; | ||
225 | /* fall through */ | ||
216 | case AC97_ID_AK4540: | 226 | case AC97_ID_AK4540: |
217 | case AC97_ID_AK4542: | 227 | case AC97_ID_AK4542: |
218 | if (reg <= 0x1c || reg == 0x20 || reg == 0x26 || reg >= 0x7c) | 228 | if (reg <= 0x1c || reg == 0x20 || reg == 0x26 || reg >= 0x7c) |
diff --git a/sound/pci/ac97/ac97_id.h b/sound/pci/ac97/ac97_id.h index c129492c82b3..d603147c4a96 100644 --- a/sound/pci/ac97/ac97_id.h +++ b/sound/pci/ac97/ac97_id.h | |||
@@ -62,3 +62,5 @@ | |||
62 | #define AC97_ID_CM9761_78 0x434d4978 | 62 | #define AC97_ID_CM9761_78 0x434d4978 |
63 | #define AC97_ID_CM9761_82 0x434d4982 | 63 | #define AC97_ID_CM9761_82 0x434d4982 |
64 | #define AC97_ID_CM9761_83 0x434d4983 | 64 | #define AC97_ID_CM9761_83 0x434d4983 |
65 | #define AC97_ID_ST7597 0x53544d02 | ||
66 | #define AC97_ID_ST_AC97_ID4 0x53544d04 | ||
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c index e288a5595f34..1caf5e3c1f6a 100644 --- a/sound/pci/ac97/ac97_patch.c +++ b/sound/pci/ac97/ac97_patch.c | |||
@@ -1855,6 +1855,7 @@ static unsigned int ad1981_jacks_blacklist[] = { | |||
1855 | 0x10140554, /* Thinkpad T42p/R50p */ | 1855 | 0x10140554, /* Thinkpad T42p/R50p */ |
1856 | 0x10140567, /* Thinkpad T43p 2668-G7U */ | 1856 | 0x10140567, /* Thinkpad T43p 2668-G7U */ |
1857 | 0x10140581, /* Thinkpad X41-2527 */ | 1857 | 0x10140581, /* Thinkpad X41-2527 */ |
1858 | 0x10280160, /* Dell Dimension 2400 */ | ||
1858 | 0x104380b0, /* Asus A7V8X-MX */ | 1859 | 0x104380b0, /* Asus A7V8X-MX */ |
1859 | 0x11790241, /* Toshiba Satellite A-15 S127 */ | 1860 | 0x11790241, /* Toshiba Satellite A-15 S127 */ |
1860 | 0x144dc01a, /* Samsung NP-X20C004/SEG */ | 1861 | 0x144dc01a, /* Samsung NP-X20C004/SEG */ |