Update of /cvsroot/alsa/alsa-kernel/pci/ac97
In directory sc8-pr-cvs1:/tmp/cvs-serv7997
Modified Files:
ac97_patch.c ac97_proc.c
Log Message:
fixes by James Courtier-Dutton <[EMAIL PROTECTED]>:
- fixed the wrong detection of SPDIF output. SPDIF-out is enabled
on all chip revisions.
- fixed the ac97 codec name shown in proc file, using ac97->id.
Index: ac97_patch.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_patch.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- ac97_patch.c 23 Sep 2003 14:31:44 -0000 1.23
+++ ac97_patch.c 6 Oct 2003 10:55:25 -0000 1.24
@@ -898,7 +898,6 @@
int patch_alc650(ac97_t * ac97)
{
unsigned short val;
- int spdif = 0;
ac97->build_ops = &patch_alc650_ops;
@@ -907,22 +906,16 @@
ac97->spec.dev_flags = (ac97->id == 0x414c4722 ||
ac97->id == 0x414c4723);
- /* check spdif (should be only on rev.E) */
- if (ac97->spec.dev_flags) {
- val = snd_ac97_read(ac97, AC97_EXTENDED_STATUS);
- if (val & AC97_EA_SPCV)
- spdif = 1;
- }
+ /* enable AC97_ALC650_GPIO_SETUP, AC97_ALC650_CLOCK for R/W */
+ snd_ac97_write_cache(ac97, AC97_ALC650_GPIO_STATUS,
+ snd_ac97_read(ac97, AC97_ALC650_GPIO_STATUS) | 0x8000);
- if (spdif) {
- /* enable AC97_ALC650_GPIO_SETUP, AC97_ALC650_CLOCK for R/W */
- snd_ac97_write_cache(ac97, AC97_ALC650_GPIO_STATUS,
- snd_ac97_read(ac97, AC97_ALC650_GPIO_STATUS) | 0x8000);
+ /* Enable SPDIF-IN only on Rev.E and above */
+ if (ac97->spec.dev_flags) {
/* enable spdif in */
snd_ac97_write_cache(ac97, AC97_ALC650_CLOCK,
snd_ac97_read(ac97, AC97_ALC650_CLOCK) | 0x03);
- } else
- ac97->ext_id &= ~AC97_EI_SPDIF; /* disable extended-id */
+ }
val = snd_ac97_read(ac97, AC97_ALC650_MULTICH);
val &= ~0xc000; /* slot: 3,4,7,8,6,9 */
Index: ac97_proc.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_proc.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ac97_proc.c 1 Sep 2003 09:53:26 -0000 1.2
+++ ac97_proc.c 6 Oct 2003 10:55:25 -0000 1.3
@@ -37,15 +37,12 @@
static void snd_ac97_proc_read_main(ac97_t *ac97, snd_info_buffer_t * buffer, int
subidx)
{
char name[64];
- unsigned int id;
unsigned short val, tmp, ext, mext;
static const char *spdif_slots[4] = { " SPDIF=3/4", " SPDIF=7/8", "
SPDIF=6/9", " SPDIF=res" };
static const char *spdif_rates[4] = { " Rate=44.1kHz", " Rate=res", "
Rate=48kHz", " Rate=32kHz" };
static const char *spdif_rates_cs4205[4] = { " Rate=48kHz", " Rate=44.1kHz", "
Rate=res", " Rate=res" };
- id = snd_ac97_read(ac97, AC97_VENDOR_ID1) << 16;
- id |= snd_ac97_read(ac97, AC97_VENDOR_ID2);
- snd_ac97_get_name(NULL, id, name, 0);
+ snd_ac97_get_name(NULL, ac97->id, name, 0);
snd_iprintf(buffer, "%d-%d/%d: %s\n\n", ac97->addr, ac97->num, subidx, name);
if ((ac97->scaps & AC97_SCAP_AUDIO) == 0)
goto __modem;
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog