{
char name[64];
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_slots[4] = { " SPDIF=3/4", " SPDIF=7/8", " SPDIF=6/9", " SPDIF=10/11" };
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" };
+ static const char *double_rate_slots[4] = { "10/11", "7/8", "reserved", "reserved" };
snd_ac97_get_name(NULL, ac97->id, name, 0);
snd_iprintf(buffer, "%d-%d/%d: %s\n\n", ac97->addr, ac97->num, subidx, name);
val & 0x0200 ? "Mic" : "MIX",
val & 0x0100 ? "Mic2" : "Mic1",
val & 0x0080 ? "on" : "off");
+ if (ac97->ext_id & AC97_EI_DRA)
+ snd_iprintf(buffer, "Double rate slots: %s\n",
+ double_rate_slots[(val >> 10) & 3]);
ext = snd_ac97_read(ac97, AC97_EXTENDED_ID);
if (ext == 0)
{
ac97_t *ac97 = entry->private_data;
- down(&ac97->mutex);
+ down(&ac97->page_mutex);
if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) { // Analog Devices AD1881/85/86
int idx;
for (idx = 0; idx < 3; idx++)
} else {
snd_ac97_proc_read_main(ac97, buffer, 0);
}
- up(&ac97->mutex);
+ up(&ac97->page_mutex);
}
#ifdef CONFIG_SND_DEBUG
ac97_t *ac97 = entry->private_data;
char line[64];
unsigned int reg, val;
- down(&ac97->mutex);
+ down(&ac97->page_mutex);
while (!snd_info_get_line(buffer, line, sizeof(line))) {
if (sscanf(line, "%x %x", ®, &val) != 2)
continue;
if (reg < 0x80 && (reg & 1) == 0 && val <= 0xffff)
snd_ac97_write_cache(ac97, reg, val);
}
- up(&ac97->mutex);
+ up(&ac97->page_mutex);
}
#endif
{
ac97_t *ac97 = entry->private_data;
- down(&ac97->mutex);
+ down(&ac97->page_mutex);
if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) { // Analog Devices AD1881/85/86
int idx;
} else {
snd_ac97_proc_regs_read_main(ac97, buffer, 0);
}
- up(&ac97->mutex);
+ up(&ac97->page_mutex);
}
void snd_ac97_proc_init(ac97_t * ac97)