Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 8823
b: refs/heads/master
c: a5022b0
h: refs/heads/master
i:
  8821: af20740
  8819: 127c777
  8815: 2b5adc9
v: v3
  • Loading branch information
Takashi Iwai authored and Jaroslav Kysela committed Sep 12, 2005
1 parent d196933 commit 3037bbb
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b73c1c122a097500e1c3dd495045432a1c818b92
refs/heads/master: a5022b0dc6e45254437b75289e773876bb43e262
1 change: 1 addition & 0 deletions trunk/sound/pci/ac97/ac97_codec.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ static const ac97_codec_id_t snd_ac97_codec_ids[] = {
{ 0x414c4723, 0xffffffff, "ALC650F", NULL, NULL }, /* already patched */
{ 0x414c4720, 0xfffffff0, "ALC650", patch_alc650, NULL },
{ 0x414c4760, 0xfffffff0, "ALC655", patch_alc655, NULL },
{ 0x414c4781, 0xffffffff, "ALC658D", NULL, NULL }, /* already patched */
{ 0x414c4780, 0xfffffff0, "ALC658", patch_alc655, NULL },
{ 0x414c4790, 0xfffffff0, "ALC850", patch_alc850, NULL },
{ 0x414c4730, 0xffffffff, "ALC101", NULL, NULL },
Expand Down
1 change: 1 addition & 0 deletions trunk/sound/pci/ac97/ac97_id.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
#define AC97_ID_ALC650F 0x414c4723
#define AC97_ID_ALC655 0x414c4760
#define AC97_ID_ALC658 0x414c4780
#define AC97_ID_ALC658D 0x414c4781
#define AC97_ID_ALC850 0x414c4790
#define AC97_ID_YMF753 0x594d4803
#define AC97_ID_VT1616 0x49434551
Expand Down
15 changes: 13 additions & 2 deletions trunk/sound/pci/ac97/ac97_patch.c
Original file line number Diff line number Diff line change
Expand Up @@ -2134,7 +2134,13 @@ int patch_alc655(ac97_t * ac97)
{
unsigned int val;

ac97->spec.dev_flags = (ac97->id == 0x414c4780); /* ALC658 */
if (ac97->id == AC97_ID_ALC658) {
ac97->spec.dev_flags = 1; /* ALC658 */
if ((snd_ac97_read(ac97, AC97_ALC650_REVISION) & 0x3f) == 2) {
ac97->id = AC97_ID_ALC658D;
ac97->spec.dev_flags = 2;
}
}

ac97->build_ops = &patch_alc655_ops;

Expand All @@ -2143,7 +2149,7 @@ int patch_alc655(ac97_t * ac97)

/* adjust default values */
val = snd_ac97_read(ac97, 0x7a); /* misc control */
if (ac97->id == 0x414c4780) /* ALC658 */
if (ac97->spec.dev_flags) /* ALC658 */
val &= ~(1 << 1); /* Pin 47 is spdif input pin */
else { /* ALC655 */
if (ac97->subsystem_vendor == 0x1462 &&
Expand All @@ -2164,6 +2170,11 @@ int patch_alc655(ac97_t * ac97)
/* full DAC volume */
snd_ac97_write_cache(ac97, AC97_ALC650_SURR_DAC_VOL, 0x0808);
snd_ac97_write_cache(ac97, AC97_ALC650_LFE_DAC_VOL, 0x0808);

/* update undocumented bit... */
if (ac97->id == AC97_ID_ALC658D)
snd_ac97_update_bits(ac97, 0x74, 0x0800, 0x0800);

return 0;
}

Expand Down

0 comments on commit 3037bbb

Please sign in to comment.