diff options
-rw-r--r-- | sound/pci/emu10k1/emu10k1_main.c | 2 | ||||
-rw-r--r-- | sound/pci/emu10k1/tina2.h | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index 541aad6c7126..2d1ebe8c6b41 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <sound/core.h> | 40 | #include <sound/core.h> |
41 | #include <sound/emu10k1.h> | 41 | #include <sound/emu10k1.h> |
42 | #include "p16v.h" | 42 | #include "p16v.h" |
43 | #include "tina2.h" | ||
43 | 44 | ||
44 | #if 0 | 45 | #if 0 |
45 | MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>, Creative Labs, Inc."); | 46 | MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>, Creative Labs, Inc."); |
@@ -600,6 +601,7 @@ static int __devinit snd_emu10k1_cardbus_init(emu10k1_t * emu) | |||
600 | outl(0x0090007f, special_port); | 601 | outl(0x0090007f, special_port); |
601 | value = inl(special_port); | 602 | value = inl(special_port); |
602 | 603 | ||
604 | snd_emu10k1_ptr20_write(emu, TINA2_VOLUME, 0, 0xfefefefe); /* Defaults to 0x30303030 */ | ||
603 | return 0; | 605 | return 0; |
604 | } | 606 | } |
605 | 607 | ||
diff --git a/sound/pci/emu10k1/tina2.h b/sound/pci/emu10k1/tina2.h new file mode 100644 index 000000000000..5c43abf03e89 --- /dev/null +++ b/sound/pci/emu10k1/tina2.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * Copyright (c) by James Courtier-Dutton <James@superbug.demon.co.uk> | ||
3 | * Driver p16v chips | ||
4 | * Version: 0.21 | ||
5 | * | ||
6 | * | ||
7 | * This code was initally based on code from ALSA's emu10k1x.c which is: | ||
8 | * Copyright (c) by Francisco Moraes <fmoraes@nc.rr.com> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
23 | * | ||
24 | */ | ||
25 | |||
26 | /********************************************************************************************************/ | ||
27 | /* Audigy2 Tina2 (notebook) pointer-offset register set, accessed through the PTR2 and DATA2 registers */ | ||
28 | /********************************************************************************************************/ | ||
29 | |||
30 | #define TINA2_VOLUME 0x71 /* Attenuate playback volume to prevent distortion. */ | ||
31 | /* The windows driver does not use this register, | ||
32 | * so it must use some other attenuation method. | ||
33 | * Without this, the output is 12dB too loud, | ||
34 | * resulting in distortion. | ||
35 | */ | ||
36 | |||