patch-2.4.18 linux/drivers/sound/emu10k1/mixer.c
Next file: linux/drivers/sound/emu10k1/recmgr.c
Previous file: linux/drivers/sound/emu10k1/midi.c
Back to the patch index
Back to the overall index
- Lines: 71
- Date:
Mon Jan 21 18:48:29 2002
- Orig file:
linux.orig/drivers/sound/emu10k1/mixer.c
- Orig date:
Mon Feb 18 20:18:40 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/drivers/sound/emu10k1/mixer.c linux/drivers/sound/emu10k1/mixer.c
@@ -444,6 +444,7 @@
case CMD_SETGPR2OSS:
id = ctl->val[0];
+ /* 0 == left, 1 == right */
ch = ctl->val[1];
addr = ctl->val[2];
@@ -460,13 +461,13 @@
if (addr >= 0) {
unsigned int state = card->ac97.mixer_state[id];
- if (ch) {
+ if (ch == 1) {
state >>= 8;
card->ac97.stereo_mixers |= (1 << id);
- } else {
- card->ac97.supported_mixers |= (1 << id);
}
+ card->ac97.supported_mixers |= (1 << id);
+
if (id == SOUND_MIXER_TREBLE) {
set_treble(card, card->ac97.mixer_state[id] & 0xff, (card->ac97.mixer_state[id] >> 8) & 0xff);
} else if (id == SOUND_MIXER_BASS) {
@@ -475,10 +476,10 @@
emu10k1_set_volume_gpr(card, addr, state & 0xff,
volume_params[id]);
} else {
- if (ch) {
- card->ac97.stereo_mixers &= ~(1 << id);
- card->ac97.stereo_mixers |= card->ac97_stereo_mixers;
- } else {
+ card->ac97.stereo_mixers &= ~(1 << id);
+ card->ac97.stereo_mixers |= card->ac97_stereo_mixers;
+
+ if (ch == 0) {
card->ac97.supported_mixers &= ~(1 << id);
card->ac97.supported_mixers |= card->ac97_supported_mixers;
}
@@ -499,6 +500,12 @@
ret = -EFAULT;
break;
+ case CMD_AC97_BOOST:
+ if(ctl->val[0])
+ emu10k1_ac97_write(&card->ac97, 0x18, 0x0);
+ else
+ emu10k1_ac97_write(&card->ac97, 0x18, 0x0808);
+ break;
default:
ret = -EINVAL;
break;
@@ -572,6 +579,8 @@
int val;
int scale;
+ card->ac97.modcnt++;
+
if (get_user(val, (int *)arg))
return -EFAULT;
@@ -626,7 +635,7 @@
return 0;
}
- if ((_IOC_DIR(cmd) == (_IOC_WRITE|_IOC_READ)) && oss_mixer <= SOUND_MIXER_NRDEVICES)
+ if ((_SIOC_DIR(cmd) == (_SIOC_WRITE|_SIOC_READ)) && oss_mixer <= SOUND_MIXER_NRDEVICES)
ret = emu10k1_dsp_mixer(card, oss_mixer, arg);
else
ret = card->ac97.mixer_ioctl(&card->ac97, cmd, arg);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)